Skip to content

CETLVaSt verifies the same commit twice and keeps superseded PR runs #267

Closed

Description

@thirtytwobits

Problem

A full CETLVaSt run is 21 jobs and 260–370 job-minutes. The last 100 runs (2026-10-20 to 2026-10-25) used 16,405 job-minutes, of which:

Cause Instances Job-minutes
A v* tag push re-runs the full matrix on a main commit. The release only reads that commit's main push run (wait_for_release_run in scripts/release.py); nothing reads the tag run. v2.0.0-rc.1, v2.0.0, v2.1.0 821
#verification in a commit on a branch with an open PR: the push run and the pull_request run are both full. f5509f2, 642a67b 572
Manual workflow_dispatch on a stacked PR that already received pull_request runs. A PR in a GitHub stack triggers workflows as if it targeted the stack's base. 4 commits on #256 1,333
cancel-in-progress: false: a PR run continues after a newer commit is pushed to the PR. 15 runs 4,185
The matrix needs only version, so it still runs when release-tests fails. #265's first run 370

Two conditions can also double runs, though none did in this window: a push to an issue/* branch that has an open PR runs the full matrix on both events, and contains(github.ref, '/main') matches any ref containing /main (e.g. refs/heads/x/maintenance).

The dispatch duplicates were a process error and need no workflow change. CodeQL and libFuzzer had no duplicate runs.

Proposed change

  • Exclude tags from the push trigger and remove the tag clause from the job conditions.
  • Remove the #verification and #docs commit-message triggers. workflow_dispatch covers branches without a PR.
  • Run full verification only for pull_request, workflow_dispatch, and pushes to refs/heads/main (exact match).
  • Cancel superseded pull_request runs. main runs stay uncancelled because the release gate waits for them.
  • Make cache-warmup need release-tests.
  • Update the release contract test and CONTRIBUTING.md to match.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions