name: Supply chain on: push: branches: - main pull_request: branches: - main merge_group: schedule: - cron: "41 2 * * 1" workflow_dispatch: permissions: contents: read jobs: cargo-deny: name: cargo-deny ${{ matrix.checks }} runs-on: ubuntu-latest timeout-minutes: 15 strategy: fail-fast: false matrix: include: # Advisories can appear after code was merged. Keep this visible, # but don't let a surprise upstream advisory nuke every unrelated PR. - checks: advisories continue-on-error: true # These are policy choices in this repo. They should block PRs. - checks: bans licenses sources continue-on-error: false continue-on-error: ${{ matrix.continue-on-error }} steps: - name: Checkout uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 with: persist-credentials: false - name: Run cargo-deny uses: EmbarkStudios/cargo-deny-action@bb137d7af7e4fb67e5f82a49c4fce4fad40782fe # v2 with: command: check arguments: --all-features command-arguments: ${{ matrix.checks }} actionlint: name: actionlint runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: Checkout uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 with: persist-credentials: false - name: actionlint handwritten workflows uses: raven-actions/actionlint@205b530c5d9fa8f44ae9ed59f341a0db994aa6f8 with: files: >- .github/workflows/actions-security.yml, .github/workflows/ci.yml, .github/workflows/interop-netem.yml, .github/workflows/osv-scanner.yml, .github/workflows/rust-clippy.yml, .github/workflows/semver.yml, .github/workflows/supply-chain.yml - name: actionlint generated release workflow uses: raven-actions/actionlint@205b530c5d9fa8f44ae9ed59f341a0db994aa6f8 with: files: .github/workflows/release.yml shellcheck: false