diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 29faf7a..af0035f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,9 +14,16 @@ on: permissions: contents: read +# Cancel a superseded PR run; let push and schedule runs finish so a +# default-branch result is never dropped. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: docker-build: runs-on: ubuntu-latest + timeout-minutes: 20 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1 diff --git a/.github/workflows/cflite.yml b/.github/workflows/cflite.yml index 65475f0..b542a8f 100644 --- a/.github/workflows/cflite.yml +++ b/.github/workflows/cflite.yml @@ -34,6 +34,7 @@ permissions: read-all jobs: Fuzzing: runs-on: ubuntu-latest + timeout-minutes: 20 strategy: fail-fast: false matrix: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1dfadea..f2403f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,9 +8,16 @@ on: permissions: contents: read +# Cancel a superseded PR run; let push and schedule runs finish so a +# default-branch result is never dropped. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: test: runs-on: ubuntu-latest + timeout-minutes: 10 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index ad110a6..123ea37 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -11,10 +11,17 @@ on: permissions: contents: read +# Cancel a superseded PR run; let push and schedule runs finish so a +# default-branch result is never dropped. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: analyze: name: analyze (${{ matrix.language }}) runs-on: ubuntu-latest + timeout-minutes: 20 permissions: actions: read contents: read diff --git a/.github/workflows/pr-triage.yml b/.github/workflows/pr-triage.yml index 2a12b36..7732b5c 100644 --- a/.github/workflows/pr-triage.yml +++ b/.github/workflows/pr-triage.yml @@ -23,6 +23,7 @@ jobs: triage: name: triage runs-on: ubuntu-latest + timeout-minutes: 5 permissions: contents: read pull-requests: write diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f9e5a9a..7281875 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -38,6 +38,7 @@ jobs: id-token: write # keyless Sigstore signing (attest-build-provenance) attestations: write # persist the attestation in GitHub's store runs-on: ubuntu-latest + timeout-minutes: 45 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 5a7b7da..5d8b082 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -18,6 +18,7 @@ jobs: analysis: name: Scorecard analysis runs-on: ubuntu-latest + timeout-minutes: 10 permissions: security-events: write # upload the SARIF to code scanning id-token: write # required by publish_results (OIDC attestation)