Use ToExpr
trait instead of ad-hoc expr
functions
#2956
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/ | |
examples/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 --exclude ceno_rt | |
# 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 --exclude ceno_rt --release | |
cargo make clippy | |
# Same for clippy: | |
cargo clippy --workspace --all-targets --exclude ceno_rt --release | |
- name: Install taplo | |
run: taplo --version || cargo install taplo-cli | |
- name: Run taplo | |
run: taplo fmt --check --diff |