Next Generation WASM Microkernel Operating System
at trap_handler 148 lines 3.8 kB view raw
1name: CI 2 3on: 4 push: 5 pull_request: 6 7permissions: 8 contents: read 9 10env: 11 CARGO_TERM_COLOR: always 12 CLICOLOR: 1 13 14concurrency: 15 group: ${{ github.workflow }}-${{ github.ref }} 16 cancel-in-progress: true 17 18jobs: 19 pre_ci: 20 uses: dtolnay/.github/.github/workflows/pre_ci.yml@master 21 22 check: 23 name: Check 24 needs: pre_ci 25 if: needs.pre_ci.outputs.continue 26 runs-on: ubuntu-latest 27 timeout-minutes: 5 28 steps: 29 - uses: actions/checkout@v4 30 - name: Install Nix 31 uses: cachix/install-nix-action@v31 32 with: 33 github_access_token: ${{ secrets.GITHUB_TOKEN }} 34 - uses: Swatinem/rust-cache@v2 35 - name: cargo check 36 run: nix develop --command just check 37 env: 38 RUSTFLAGS: -Dwarnings 39 40 rustfmt: 41 name: Rustfmt 42 needs: pre_ci 43 if: needs.pre_ci.outputs.continue 44 runs-on: ubuntu-latest 45 timeout-minutes: 5 46 steps: 47 - uses: actions/checkout@v4 48 - name: Install Nix 49 uses: cachix/install-nix-action@v31 50 with: 51 github_access_token: ${{ secrets.GITHUB_TOKEN }} 52 - uses: Swatinem/rust-cache@v2 53 - name: cargo fmt 54 run: nix develop --command just check-fmt 55 env: 56 RUSTFLAGS: -Dwarnings 57 58 clippy: 59 name: Clippy 60 needs: pre_ci 61 if: needs.pre_ci.outputs.continue 62 runs-on: ubuntu-latest 63 timeout-minutes: 5 64 steps: 65 - uses: actions/checkout@v4 66 - name: Install Nix 67 uses: cachix/install-nix-action@v31 68 with: 69 github_access_token: ${{ secrets.GITHUB_TOKEN }} 70 - uses: Swatinem/rust-cache@v2 71 - name: cargo clippy 72 run: nix develop --command just clippy 73 env: 74 RUSTFLAGS: -Dwarnings 75 76 cargo-deny: 77 name: Cargo deny 78 runs-on: ubuntu-latest 79 needs: pre_ci 80 if: needs.pre_ci.outputs.continue 81 steps: 82 - uses: actions/checkout@v4 83 - name: Check Rust Code 84 uses: EmbarkStudios/cargo-deny-action@v2 85 86 test-hosted: 87 name: Hosted Tests 88 needs: pre_ci 89 if: needs.pre_ci.outputs.continue 90 runs-on: ubuntu-latest 91 timeout-minutes: 10 92 steps: 93 - uses: actions/checkout@v4 94 - name: Install Nix 95 uses: cachix/install-nix-action@v31 96 with: 97 github_access_token: ${{ secrets.GITHUB_TOKEN }} 98 - uses: Swatinem/rust-cache@v2 99 - name: just test-hosted 100 run: nix develop --command just test 101 102 test-miri: 103 name: Miri Tests 104 needs: pre_ci 105 if: needs.pre_ci.outputs.continue 106 runs-on: ubuntu-latest 107 timeout-minutes: 10 108 steps: 109 - uses: actions/checkout@v4 110 - name: Install Nix 111 uses: cachix/install-nix-action@v31 112 with: 113 github_access_token: ${{ secrets.GITHUB_TOKEN }} 114 - uses: Swatinem/rust-cache@v2 115 - name: just test-miri 116 run: nix develop --command just miri 117 118 test-loom: 119 name: Loom Tests 120 needs: pre_ci 121 if: needs.pre_ci.outputs.continue 122 runs-on: ubuntu-latest 123 timeout-minutes: 10 124 steps: 125 - uses: actions/checkout@v4 126 - name: Install Nix 127 uses: cachix/install-nix-action@v31 128 with: 129 github_access_token: ${{ secrets.GITHUB_TOKEN }} 130 - uses: Swatinem/rust-cache@v2 131 - name: just test-loom 132 run: nix develop --command just loom 133 134 test-riscv64: 135 name: "On-Target Tests: RISCV 64-bit" 136 needs: pre_ci 137 if: needs.pre_ci.outputs.continue 138 runs-on: ubuntu-latest 139 timeout-minutes: 10 140 steps: 141 - uses: actions/checkout@v4 142 - name: Install Nix 143 uses: cachix/install-nix-action@v31 144 with: 145 github_access_token: ${{ secrets.GITHUB_TOKEN }} 146 - uses: Swatinem/rust-cache@v2 147 - name: just test-riscv64 148 run: nix develop --command just test-riscv64