Clean the Monero lib for auditing #1093
Workflow file for this run
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: Lint | |
on: | |
push: | |
branches: | |
- develop | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
clippy: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-13, macos-14, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac | |
- name: Get nightly version to use | |
id: nightly | |
shell: bash | |
run: echo "version=$(cat .github/nightly-version)" >> $GITHUB_OUTPUT | |
- name: Build Dependencies | |
uses: ./.github/actions/build-dependencies | |
- name: Install nightly rust | |
run: rustup toolchain install ${{ steps.nightly.outputs.version }} --profile minimal -t wasm32-unknown-unknown -c clippy | |
- name: Run Clippy | |
run: cargo +${{ steps.nightly.outputs.version }} clippy --all-features --all-targets -- -D warnings -A clippy::items_after_test_module | |
# Also verify the lockfile isn't dirty | |
# This happens when someone edits a Cargo.toml yet doesn't do anything | |
# which causes the lockfile to be updated | |
# The above clippy run will cause it to be updated, so checking there's | |
# no differences present now performs the desired check | |
- name: Verify lockfile | |
shell: bash | |
run: git diff | wc -l | LC_ALL="en_US.utf8" grep -x -e "^[ ]*0" | |
deny: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac | |
- name: Advisory Cache | |
uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 | |
with: | |
path: ~/.cargo/advisory-db | |
key: rust-advisory-db | |
- name: Install cargo deny | |
run: cargo install --locked cargo-deny | |
- name: Run cargo deny | |
run: cargo deny -L error --all-features check | |
fmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac | |
- name: Get nightly version to use | |
id: nightly | |
shell: bash | |
run: echo "version=$(cat .github/nightly-version)" >> $GITHUB_OUTPUT | |
- name: Install nightly rust | |
run: rustup toolchain install ${{ steps.nightly.outputs.version }} --profile minimal -c rustfmt | |
- name: Run rustfmt | |
run: cargo +${{ steps.nightly.outputs.version }} fmt -- --check | |
machete: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac | |
- name: Verify all dependencies are in use | |
run: | | |
cargo install cargo-machete | |
cargo machete |