| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- # This workflow uses actions that are not certified by GitHub.
- # They are provided by a third-party and are governed by
- # separate terms of service, privacy policy, and support
- # documentation.
- # rust-clippy is a tool that runs a bunch of lints to catch common
- # mistakes in your Rust code and help improve your Rust code.
- # More details at https://github.com/rust-lang/rust-clippy
- # and https://rust-lang.github.io/rust-clippy/
- name: Prototyper
- on:
- pull_request:
- push:
- paths-ignore:
- - '**.md'
- - 'LICENSE'
- jobs:
- rust-clippy-analyze:
- name: Run rust-clippy analyzing
- runs-on: ubuntu-latest
- permissions:
- security-events: write
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- - name: Check format
- run: cargo fmt --check
- - name: Run test
- run: |
- cargo test -p rustsbi-prototyper
- - name: Install required cargo
- run: cargo install clippy-sarif sarif-fmt cargo-binutils
- - name: Install required target
- run: rustup target add riscv64imac-unknown-none-elf
-
- # Build the prototyper is needed before running cargo clippy for it, as the build is dependent on some logic controlled by xtask.
- - name: Build cargo prototyper
- run: cargo prototyper
- - name: Run rust-clippy
- run: |
- cargo clippy -p rustsbi-prototyper --target riscv64imac-unknown-none-elf --message-format=json | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt
- cargo clippy -p rustsbi-test-kernel --target riscv64imac-unknown-none-elf --message-format=json | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt
- cargo clippy -p rustsbi-bench-kernel --target riscv64imac-unknown-none-elf --message-format=json | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt
- continue-on-error: true
- - name: Upload analysis results to GitHub
- uses: github/codeql-action/upload-sarif@v3
- with:
- sarif_file: rust-clippy-results.sarif
- wait-for-processing: true
|