name: Supply chain on: push: branches: - main pull_request: branches: - main schedule: - cron: "41 2 * * 1" workflow_dispatch: permissions: contents: read env: ACTIONLINT_VERSION: 1.7.7 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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: persist-credentials: false - name: Run cargo-deny uses: EmbarkStudios/cargo-deny-action@3c6349835b2b7b196a839186cb8b78e02f7b5f25 # 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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: persist-credentials: false - name: Install actionlint run: go install github.com/rhysd/actionlint/cmd/actionlint@v${ACTIONLINT_VERSION} - name: actionlint handwritten workflows # actionlint validates GitHub Actions syntax. It cannot parse Gitea's # required absolute action URL in interop-netem.yml, so that workflow # is checked by the Gitea runner instead. run: | "$(go env GOPATH)/bin/actionlint" \ .gitea/workflows/ci.yml \ .gitea/workflows/docker-publish.yml \ .gitea/workflows/fuzz.yml \ .gitea/workflows/semver.yml \ .gitea/workflows/supply-chain.yml \ .github/workflows/actions-security.yml \ .github/workflows/ci-arm.yml \ .github/workflows/osv-scanner.yml \ .github/workflows/rust-clippy.yml - name: actionlint generated release workflow run: >- "$(go env GOPATH)/bin/actionlint" -shellcheck= .github/workflows/irtt-rs-release.yml