trapframe 0.10.1

Handle Trap Frame across kernel and user space on multiple ISAs.
Documentation
name: CI

on: [push, pull_request]

jobs:
  check:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - run: rm rust-toolchain
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly-2022-01-20
          override: true
          components: rustfmt, clippy
      - name: Check code format
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

  build:
    runs-on: ubuntu-20.04
    strategy:
      matrix:
        target: [
          x86_64-unknown-linux-gnu,
          x86_64-apple-darwin,
          aarch64-unknown-linux-gnu,
          aarch64-unknown-none-softfloat,
          riscv32imac-unknown-none-elf,
          riscv64imac-unknown-none-elf,
          mipsel-unknown-linux-gnu,
        ]
    steps:
    - uses: actions/checkout@v2
    - uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: nightly-2022-01-20
        target: ${{ matrix.target }}
        components: clippy
    - name: Build
      uses: actions-rs/cargo@v1
      with:
        command: build
        args: --all-features --target ${{ matrix.target }}
    - name: Clippy
      uses: actions-rs/cargo@v1
      with:
        command: clippy
        args: --target ${{ matrix.target }}
    - name: Docs
      uses: actions-rs/cargo@v1
      with:
        command: doc
        args: --target ${{ matrix.target }}

  build-x86_64-none:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly-2022-01-20
          components: rust-src
      - name: Build
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: --all-features --target x86_64-unknown-linux-gnu -Z build-std=core,alloc
      - name: Docs
        uses: actions-rs/cargo@v1
        with:
          command: doc
          args: --all-features --target x86_64-unknown-linux-gnu  -Z build-std=core,alloc

  test-x86_64:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-20.04, macos-latest]
    steps:
      - uses: actions/checkout@v2
      - run: rm rust-toolchain
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly-2022-01-20
          override: true
      - name: Test
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --all-features

  test-aarch64:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - run: rm rust-toolchain
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly-2022-01-20
          target: aarch64-unknown-linux-gnu
          override: true
      - uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: test
          args: --target aarch64-unknown-linux-gnu