2 changed files with 129 additions and 0 deletions
@ -0,0 +1,59 @@ |
|||||
|
name: Supply Chain Audit (registered) |
||||
|
|
||||
|
on: |
||||
|
workflow_dispatch: {} |
||||
|
|
||||
|
jobs: |
||||
|
audit: |
||||
|
name: cargo-audit & cargo-deny |
||||
|
runs-on: ubuntu-24.04 |
||||
|
timeout-minutes: 30 |
||||
|
steps: |
||||
|
- name: Checkout |
||||
|
uses: actions/checkout@v4 |
||||
|
|
||||
|
- name: Install Rust toolchain |
||||
|
run: | |
||||
|
if [ -f rust-toolchain.toml ]; then |
||||
|
TOOLCHAIN=$(grep -m1 -oP 'channel.*"(\K.*?)(?=")' rust-toolchain.toml || true) |
||||
|
fi |
||||
|
if [ -z "${TOOLCHAIN:-}" ]; then |
||||
|
TOOLCHAIN=stable |
||||
|
fi |
||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain ${TOOLCHAIN} |
||||
|
source $HOME/.cargo/env |
||||
|
|
||||
|
- name: Install cargo-audit and cargo-deny |
||||
|
run: | |
||||
|
source $HOME/.cargo/env |
||||
|
cargo install cargo-audit --version 0.17.0 || true |
||||
|
cargo install cargo-deny --version 0.12.0 || true |
||||
|
|
||||
|
- name: Run cargo audit |
||||
|
run: | |
||||
|
source $HOME/.cargo/env |
||||
|
cargo audit --version || true |
||||
|
cargo audit || true |
||||
|
continue-on-error: true |
||||
|
|
||||
|
- name: Run cargo deny (advisories) |
||||
|
run: | |
||||
|
source $HOME/.cargo/env |
||||
|
cargo deny check advisories --manifest-path Cargo.toml || true |
||||
|
continue-on-error: true |
||||
|
|
||||
|
- name: Run cargo deny (licenses) |
||||
|
run: | |
||||
|
source $HOME/.cargo/env |
||||
|
cargo deny check licenses --manifest-path Cargo.toml || true |
||||
|
continue-on-error: true |
||||
|
|
||||
|
- name: Upload audit results |
||||
|
uses: actions/upload-artifact@v4 |
||||
|
with: |
||||
|
name: supply-chain-reports |
||||
|
path: | |
||||
|
audit.txt |
||||
|
deny-advisories.txt |
||||
|
deny-licenses.txt |
||||
|
if-no-files-found: ignore |
||||
@ -0,0 +1,70 @@ |
|||||
|
name: Supply Chain Audit |
||||
|
|
||||
|
on: |
||||
|
workflow_dispatch: {} |
||||
|
pull_request: |
||||
|
paths: |
||||
|
- 'Cargo.toml' |
||||
|
- 'Cargo.lock' |
||||
|
|
||||
|
jobs: |
||||
|
audit: |
||||
|
name: cargo-audit & cargo-deny |
||||
|
runs-on: ubuntu-24.04 |
||||
|
timeout-minutes: 30 |
||||
|
steps: |
||||
|
- name: Checkout |
||||
|
uses: actions/checkout@v4 |
||||
|
|
||||
|
- name: Install Rust toolchain |
||||
|
run: | |
||||
|
# Use the repository's rust-toolchain if present |
||||
|
if [ -f rust-toolchain.toml ]; then |
||||
|
TOOLCHAIN=$(grep -m1 -oP 'channel.*"(\K.*?)(?=")' rust-toolchain.toml || true) |
||||
|
fi |
||||
|
if [ -z "${TOOLCHAIN:-}" ]; then |
||||
|
TOOLCHAIN=stable |
||||
|
fi |
||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain ${TOOLCHAIN} |
||||
|
source $HOME/.cargo/env |
||||
|
|
||||
|
- name: Install cargo-audit and cargo-deny |
||||
|
run: | |
||||
|
source $HOME/.cargo/env |
||||
|
cargo install cargo-audit --version 0.17.0 || true |
||||
|
cargo install cargo-deny --version 0.12.0 || true |
||||
|
|
||||
|
- name: Run cargo audit |
||||
|
working-directory: ${{ github.workspace }} |
||||
|
run: | |
||||
|
source $HOME/.cargo/env |
||||
|
cargo audit --version || true |
||||
|
cargo audit || true |
||||
|
continue-on-error: true |
||||
|
id: audit |
||||
|
|
||||
|
- name: Run cargo deny (advisories) |
||||
|
working-directory: ${{ github.workspace }} |
||||
|
run: | |
||||
|
source $HOME/.cargo/env |
||||
|
cargo deny check advisories --manifest-path Cargo.toml || true |
||||
|
continue-on-error: true |
||||
|
id: deny-advisories |
||||
|
|
||||
|
- name: Run cargo deny (licenses) |
||||
|
working-directory: ${{ github.workspace }} |
||||
|
run: | |
||||
|
source $HOME/.cargo/env |
||||
|
cargo deny check licenses --manifest-path Cargo.toml || true |
||||
|
continue-on-error: true |
||||
|
id: deny-licenses |
||||
|
|
||||
|
- name: Upload audit results |
||||
|
uses: actions/upload-artifact@v4 |
||||
|
with: |
||||
|
name: supply-chain-reports |
||||
|
path: | |
||||
|
audit.txt |
||||
|
deny-advisories.txt |
||||
|
deny-licenses.txt |
||||
|
if-no-files-found: ignore |
||||
Loading…
Reference in new issue