From 848527044198eafda3941727b6a755b3463d0551 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Sun, 10 May 2026 20:29:16 +0700 Subject: [PATCH] ci: implement supply chain security and workflow linting --- .github/workflows/supply-chain.yml | 64 ++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 .github/workflows/supply-chain.yml diff --git a/.github/workflows/supply-chain.yml b/.github/workflows/supply-chain.yml new file mode 100644 index 0000000..2c51346 --- /dev/null +++ b/.github/workflows/supply-chain.yml @@ -0,0 +1,64 @@ +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@v6 + with: + persist-credentials: false + + - name: Run cargo-deny + uses: EmbarkStudios/cargo-deny-action@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@v6 + with: + persist-credentials: false + + - name: Run actionlint + uses: raven-actions/actionlint@v2