Add rules for certain .NET code patterns (#234) #380
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
# 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/ | |
# | |
# rust-fmt is a tool that checks if your Rust code is formatted | |
# according to the style guidelines. More details at | |
# https://github.com/rust-lang/rustfmt and | |
# https://rust-lang.github.io/rustfmt/. | |
name: Rust Checks | |
on: | |
push: | |
branches: [ "main" ] | |
# Run when release tags are created | |
tags: [ "v*.*.*" ] | |
pull_request: | |
# The branches below must be a subset of the branches above | |
branches: [ "main" ] | |
schedule: | |
- cron: '38 13 * * 4' | |
jobs: | |
rust-clippy-analyze: | |
name: clippy | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
security-events: write | |
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Install system dependencies | |
run: | | |
sudo apt-get install -y --no-install-recommends \ | |
libhyperscan-dev | |
- name: Install Rust toolchain | |
id: install-rust-toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
components: clippy | |
- name: Cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Install required cargo | |
run: cargo install clippy-sarif sarif-fmt | |
- name: Run rust-clippy | |
run: | |
cargo clippy | |
--all-features | |
--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 | |
rust-fmt: | |
name: rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Install Rust toolchain | |
id: install-rust-toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
components: rustfmt | |
- name: Cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Run rust-fmt | |
run: cargo fmt --all --check |