This repository was archived by the owner on Jan 16, 2026. It is now read-only.
chore: archival announcement #11201
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Rust CI | |
| on: | |
| push: | |
| branches: [main] | |
| merge_group: | |
| pull_request: | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| cargo-tests: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 40 | |
| name: test | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Free Disk Space (Ubuntu) | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| large-packages: false | |
| - uses: ./.github/actions/setup | |
| with: | |
| components: rustfmt | |
| - uses: taiki-e/install-action@nextest | |
| - name: cargo test | |
| run: just test | |
| cargo-lint: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 40 | |
| strategy: | |
| matrix: | |
| target: ["native", "cannon", "asterisc"] | |
| name: lint-${{ matrix.target }} | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Free Disk Space (Ubuntu) | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| large-packages: false | |
| - uses: ./.github/actions/setup | |
| with: | |
| channel: stable | |
| components: clippy | |
| prefix-key: ${{ matrix.target }} | |
| - uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: rustfmt | |
| - name: Log into ghcr | |
| if: ${{ matrix.target != 'native' }} | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: fmt + lint | |
| run: just lint-${{ matrix.target }} | |
| - name: chown target | |
| run: | | |
| sudo chown -R $(id -u):$(id -g) ./target | |
| cargo-build: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 40 | |
| strategy: | |
| matrix: | |
| target: ["native", "cannon-client", "asterisc-client"] | |
| name: build-${{ matrix.target }} | |
| continue-on-error: true | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Free Disk Space (Ubuntu) | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| large-packages: false | |
| - uses: ./.github/actions/setup | |
| with: | |
| channel: nightly | |
| prefix-key: ${{ matrix.target }} | |
| - name: Log into ghcr | |
| if: ${{ matrix.target != 'native' }} | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: build | |
| run: just build-${{ matrix.target }} | |
| - name: chown target | |
| run: | | |
| sudo chown -R $(id -u):$(id -g) ./target | |
| cargo-build-benches: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 40 | |
| name: build-benchmarks | |
| continue-on-error: true | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Free Disk Space (Ubuntu) | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| large-packages: false | |
| - uses: ./.github/actions/setup | |
| - name: build benches | |
| run: just benches | |
| - name: chown target | |
| run: | | |
| sudo chown -R $(id -u):$(id -g) ./target | |
| cargo-udeps: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 40 | |
| name: check-udeps | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Free Disk Space (Ubuntu) | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| large-packages: false | |
| - uses: ./.github/actions/setup | |
| with: | |
| channel: nightly | |
| - uses: taiki-e/install-action@nextest | |
| - uses: taiki-e/install-action@cargo-udeps | |
| - name: cargo udeps | |
| run: just check-udeps | |
| cargo-doc-lint: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 40 | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Free Disk Space (Ubuntu) | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| large-packages: false | |
| - uses: ./.github/actions/setup | |
| - name: doclint | |
| run: just lint-docs | |
| cargo-doc-test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 40 | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Free Disk Space (Ubuntu) | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| large-packages: false | |
| - uses: ./.github/actions/setup | |
| - name: doctest | |
| run: just test-docs | |
| typos: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: crate-ci/typos@v1 | |
| cargo-hack: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 40 | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Free Disk Space (Ubuntu) | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| large-packages: false | |
| - uses: ./.github/actions/setup | |
| - name: Install clang | |
| run: sudo apt install clang libclang-dev | |
| - uses: taiki-e/install-action@cargo-hack | |
| - name: cargo hack | |
| run: just hack | |
| check-no-std: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install mold linker | |
| uses: rui314/setup-mold@v1 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| target: riscv32imac-unknown-none-elf | |
| - uses: taiki-e/install-action@cargo-hack | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| save-if: ${{ github.ref == 'refs/heads/main' }} | |
| - name: check | |
| run: ./.github/scripts/check_no_std.sh | |
| coverage: | |
| runs-on: ubuntu-latest | |
| name: coverage | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Free Disk Space (Ubuntu) | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| large-packages: false | |
| - uses: ./.github/actions/setup | |
| with: | |
| components: llvm-tools-preview | |
| - uses: taiki-e/install-action@cargo-llvm-cov | |
| - uses: taiki-e/install-action@nextest | |
| - name: cargo generate-lockfile | |
| if: hashFiles('Cargo.lock') == '' | |
| run: cargo generate-lockfile | |
| - name: cargo llvm-cov | |
| run: | | |
| just llvm-cov-tests && mv ./target/nextest/ci/junit.xml ./junit.xml | |
| - name: Record Rust version | |
| run: echo "RUST=$(rustc --version)" >> "$GITHUB_ENV" | |
| - name: Upload coverage to codecov.io | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| fail_ci_if_error: true | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| env_vars: OS,RUST | |
| files: lcov.info | |
| flags: unit | |
| verbose: true | |
| - name: Upload test results to codecov.io | |
| if: ${{ !cancelled() }} | |
| uses: codecov/test-results-action@v1 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| deny: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - uses: EmbarkStudios/cargo-deny-action@v2 | |
| with: | |
| rust-version: 1.88 | |
| zepter: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install zepter | |
| run: | | |
| cargo install zepter -f --locked | |
| zepter --version | |
| - name: Format features | |
| run: | | |
| zepter format features | |
| - name: Lint features | |
| run: | | |
| zepter | |