diff --git a/.github/workflows/cargo-audit.yml b/.github/workflows/cargo-audit.yml new file mode 100644 index 0000000..13c1d84 --- /dev/null +++ b/.github/workflows/cargo-audit.yml @@ -0,0 +1,32 @@ +name: Cargo Audit + +on: + push: + branches: + - master + paths: + - '**/Cargo.toml' + pull_request: + paths: + - '**/Cargo.toml' + +permissions: + contents: read + actions: read + +jobs: + audit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + + - uses: actions/cache@v4 + with: + path: | + ~/.cargo + key: ${{ runner.os }}-cargo-audit-${{ hashFiles('**/Cargo.toml') }} + + - run: cargo install cargo-audit + - run: cargo audit --deny=warnings diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9ba8267..762748c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -77,7 +77,7 @@ jobs: ~/.cargo/registry ~/.cargo/git target - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }} + key: ${{ runner.os }}-cargo-clippy-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@888c2e1ea69ab0d4330cbf0af1ecc7b68f368cc1 with: @@ -99,13 +99,13 @@ jobs: ~/.cargo/registry ~/.cargo/git target - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }} + key: ${{ runner.os }}-cargo-coverage-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@888c2e1ea69ab0d4330cbf0af1ecc7b68f368cc1 with: toolchain: stable - - uses: taiki-e/install-action@13fe1882c51d253ef22193d24823029c0acab68b # cargo-llvm-cov + - uses: taiki-e/install-action@f676f6a897011f9ac8f578264b7142f4679496b9 # cargo-llvm-cov - run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info @@ -127,7 +127,7 @@ jobs: ~/.cargo/registry ~/.cargo/git target - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }} + key: ${{ runner.os }}-cargo-examples-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@888c2e1ea69ab0d4330cbf0af1ecc7b68f368cc1 with: diff --git a/.github/workflows/workflows-audit.yml b/.github/workflows/workflows-audit.yml index 35bd1b2..2dda5c8 100644 --- a/.github/workflows/workflows-audit.yml +++ b/.github/workflows/workflows-audit.yml @@ -1,4 +1,4 @@ -name: CI +name: Workflows Audit on: push: @@ -15,7 +15,7 @@ permissions: actions: read jobs: - workflows-audit: + audit: runs-on: ubuntu-latest steps: diff --git a/.vscode/extensions.json b/.vscode/extensions.json index de7e8a1..714f847 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,6 +1,10 @@ { "recommendations": [ "rust-lang.rust-analyzer", + "vadimcn.vscode-lldb", + "tamasfe.even-better-toml", + "usernamehw.errorlens", + "fill-labs.dependi", "ryanluker.vscode-coverage-gutters", "cordx56.rustowl-vscode" ] diff --git a/.vscode/settings.json b/.vscode/settings.json index 470b798..cb73c01 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,11 @@ { "files.insertFinalNewline": true, "files.trimFinalNewlines": true, + "rust-analyzer.check.command": "clippy", + "[rust]": { + "editor.defaultFormatter": "rust-lang.rust-analyzer", + "editor.formatOnSave": true + }, "coverage-gutters.coverageBaseDir": "**", "[html]": { "editor.formatOnSave": false