name: Security Audit
on:
schedule:
- cron: '0 6 * * *'
push:
paths:
- 'Cargo.lock'
- 'deny.toml'
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Checkout provable-contracts (path dep)
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with:
repository: paiml/provable-contracts
path: provable-contracts
- name: Symlink provable-contracts for Cargo path deps
run: ln -sf "$GITHUB_WORKSPACE/provable-contracts" "$GITHUB_WORKSPACE/../provable-contracts"
- name: Install cargo-deny
run: cargo install --locked cargo-deny
- name: Run cargo-deny
run: cargo deny check
- name: Run cargo-audit
run: |
cargo install --locked cargo-audit
IGNORE_FLAGS=""
if [ -f .cargo/audit.toml ]; then
for id in $(sed -n 's/.*\(RUSTSEC-[0-9]*-[0-9]*\).*/\1/p' .cargo/audit.toml); do
IGNORE_FLAGS="$IGNORE_FLAGS --ignore $id"
done
echo "Audit ignores: $IGNORE_FLAGS"
fi
cargo audit $IGNORE_FLAGS