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 # Match the version embedded in the replaced cargo-deny Docker action. CARGO_DENY_VERSION: 0.20.2 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: Install cargo-deny run: cargo install cargo-deny --locked --version "${CARGO_DENY_VERSION}" - name: Run cargo-deny run: >- cargo deny --manifest-path Cargo.toml --all-features check ${{ 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