You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.7 KiB
59 lines
1.7 KiB
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
|
|
|