1: # This workflow uses actions that are not certified by GitHub.
2: # They are provided by a third-party and are governed by
3: # separate terms of service, privacy policy, and support
4: # documentation.
5: # rust-clippy is a tool that runs a bunch of lints to catch common
6: # mistakes in your Rust code and help improve your Rust code.
7: # More details at https://github.com/rust-lang/rust-clippy
8: # and https://rust-lang.github.io/rust-clippy/
9:
10: name: rust-clippy analyze
11:
12: on:
13: push:
14: branches: [ "master" ]
15: pull_request:
16: # The branches below must be a subset of the branches above
17: branches: [ "master" ]
18: schedule:
19: - cron: '43 14 * * 2'
20:
21: jobs:
22: rust-clippy-analyze:
23: name: Run rust-clippy analyzing
24: runs-on: ubuntu-latest
25: permissions:
26: contents: read
27: security-events: write
28: actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
29: steps:
30: - name: Checkout code
31: uses: actions/checkout@v4
32:
33: - name: Install Rust toolchain
34: uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af #@v1
35: with:
36: profile: minimal
37: toolchain: stable
38: components: clippy
39: override: true
40:
41: - name: Install required cargo
42: run: cargo install clippy-sarif sarif-fmt
43:
44: - name: Run rust-clippy
45: run:
46: cargo clippy
47: --all-features
48: --message-format=json | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt
49: continue-on-error: true
50:
51: - name: Upload analysis results to GitHub
2283656bf6 2024-08-11 52: uses: github/codeql-action/upload-sarif@v3
53: with:
54: sarif_file: rust-clippy-results.sarif
55: wait-for-processing: true