Sorting example #3005
This file contains 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: Lints | |
on: | |
merge_group: | |
pull_request: | |
types: [synchronize, opened, reopened, ready_for_review] | |
push: | |
branches: | |
- master | |
jobs: | |
skip_check: | |
runs-on: [self-hosted, Linux, X64] | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@v5 | |
with: | |
cancel_others: 'true' | |
concurrent_skipping: 'same_content_newer' | |
paths_ignore: '["**/README.md"]' | |
do_not_skip: '["pull_request", "workflow_dispatch", "schedule", "merge_group"]' | |
lints: | |
needs: [skip_check] | |
if: | | |
github.event.pull_request.draft == false && | |
(github.event.action == 'ready_for_review' || needs.skip_check.outputs.should_skip != 'true') | |
name: Various lints | |
timeout-minutes: 30 | |
runs-on: [self-hosted, Linux, X64] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
components: rustfmt, clippy | |
targets: riscv32im-unknown-none-elf | |
# TODO(Matthias): see whether we can keep this in sync with rust-toolchain.toml automatically? | |
toolchain: nightly-2024-12-06 | |
- name: Cargo cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
guest/target/ | |
key: lint-${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install cargo make | |
run: | | |
cargo make --version || cargo install cargo-make | |
- name: Check code format | |
run: cargo fmt --all --check | |
- name: Run clippy | |
env: | |
RUSTFLAGS: "-Dwarnings" | |
run: | | |
cargo check --workspace --all-targets | |
# We have a lot of code under #[cfg(not(debug_assertions))] and similar, | |
# so we need to run cargo check in release mode, too: | |
cargo check --workspace --all-targets --release | |
cargo make clippy | |
# Same for clippy: | |
cargo clippy --workspace --all-targets --release | |
- name: Install taplo | |
run: taplo --version || cargo install taplo-cli | |
- name: Run taplo | |
run: taplo fmt --check --diff |