Skip to content

ci: stop re-running merge queue checks on push to main - #1712

Merged
ZohebShaikh merged 3 commits into
mainfrom
ci/dedupe-merge-queue-runs
Oct 21, 2026
Merged

ZohebShaikh merged 3 commits into
mainfrom
ci/dedupe-merge-queue-runs

Conversation

@ZohebShaikh

@ZohebShaikh ZohebShaikh commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Every merged PR ran each workflow twice: once in the merge queue and again on push to main, on the same commit. The extra main runs got cancelled by the next merge and showed red (#1706, #1707), and they competed for runners, leaving later runs queued. CodeQL in the queue also failed when its upload ran after the queue branch had already been deleted (run 39579313396: ref 'refs/heads/gh-readonly-queue/main/pr-1682-…' not found).

Changes

  • ci.yml: on push to main, the check jobs (lint, test, system-test, container, dist) are skipped; only docs runs, which publish.yml needs to deploy the main docs. Tags still run everything for pypi/release.
  • codeql.yml: drop merge_group. It isn't a required check, and push-to-main still provides the baseline.
  • asyncapi.yml / backstage.yml: drop push, since the merge queue already validated the commit.

After merging, check

  • The merge queue doesn't wait on missing required checks.
  • The main push run goes green with only docs, and Publish deploys.
  • Codecov no longer gets uploads from main pushes; the main badge will go stale until that's handled separately.

🤖 Generated with Claude Code

ZohebShaikh and others added 2 commits October 21, 2026 11:19
The merge queue already tests the exact commit that lands on main, so
the push run duplicated it, got cancelled by the next merge, and
competed for runners. On push to main, CI now only builds docs (for
Publish). CodeQL drops merge_group, where SARIF upload failed once the
queue branch was deleted. AsyncAPI/Backstage drop push.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Simplify the skip guard to `github.ref != 'refs/heads/main'`
- Clarify that docs still runs on main for publish.yml
- Label merge queue Codecov uploads as main, since tests no longer
  run on push to main

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ZohebShaikh
ZohebShaikh requested a review from a team as a code owner October 21, 2026 11:19
@codecov

codecov Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.40%. Comparing base (a1f860f) to head (1da858a).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1712   +/-   ##
=======================================
  Coverage   96.40%   96.40%           
=======================================
  Files          49       49           
  Lines        3732     3732           
=======================================
  Hits         3598     3598           
  Misses        134      134           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Failed or ejected merge groups would also be labelled main, giving
Codecov a main head that never landed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ZohebShaikh
ZohebShaikh added this pull request to the merge queue Oct 21, 2026
Merged via the queue into main with commit 09e0653 Oct 21, 2026
21 checks passed
@ZohebShaikh
ZohebShaikh deleted the ci/dedupe-merge-queue-runs branch October 21, 2026 13:16
ZohebShaikh added a commit that referenced this pull request Nov 2, 2026
Every merged PR ran each workflow twice: once in the merge queue and
again on push to `main`, on the same commit. The extra `main` runs got
cancelled by the next merge and showed red (#1706, #1707), and they
competed for runners, leaving later runs queued. CodeQL in the queue
also failed when its upload ran after the queue branch had already been
deleted (run 39579313396: `ref
'refs/heads/gh-readonly-queue/main/pr-1682-…' not found`).

## Changes
- **ci.yml**: on push to `main`, the check jobs (`lint`, `test`,
`system-test`, `container`, `dist`) are skipped; only `docs` runs, which
`publish.yml` needs to deploy the `main` docs. Tags still run everything
for pypi/release.
- **codeql.yml**: drop `merge_group`. It isn't a required check, and
push-to-`main` still provides the baseline.
- **asyncapi.yml / backstage.yml**: drop `push`, since the merge queue
already validated the commit.

## After merging, check
- The merge queue doesn't wait on missing required checks.
- The `main` push run goes green with only `docs`, and Publish deploys.
- Codecov no longer gets uploads from `main` pushes; the `main` badge
will go stale until that's handled separately.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants