Skip race, upgrade and integration jobs in the giga-1 merge queue - #4186
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
PR SummaryLow Risk Overview In Go Test ( In Sei-DB ( Docker Integration Test ( Coverage jobs only get comment tweaks explaining why merge-queue runs stay as no-ops via per-step Reviewed by Cursor Bugbot for commit 8a2e0c5. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
CI-only change that trims the giga-1 merge queue. The go-test and sei-db skips correctly preserve the required check names, but dropping giga-1 from integration-test.yml's merge_group branch filter suppresses the workflow entirely, so its check runs never report for giga-1 queue entries — a different (and riskier) mechanism than the skip pattern the rest of the PR and #4178 use.
Findings: 1 blocking | 2 non-blocking | 1 posted inline
Blockers
- None at the file/PR level.
- 1 blocking issue(s) flagged inline on specific lines.
Non-blocking
- [suggestion] This PR now uses three different mechanisms for the same "skip in the giga-1 queue" goal: job-level
if(go-testrace-shard/upgrade-test), per-stepifviaSKIP_SLOW(sei-dbtest), and removing the trigger (integration-test). The sei-db per-step form was copied fromcoverage, whose comment claims a job-level skip would leave the "result not being present", while #4178's rationale states the opposite ("a skipped job satisfies a required status check") and this PR's ownrace-shardgate relies on that. Only one can be right; worth reconciling and stating it once (e.g. in a comment next to the giga-1 predicate) so the next workflow author does not have to guess between seven step-levelif:s and one job-levelif:. - [suggestion] After this change the giga-1 merge queue executes no Go tests and no integration tests at all (lint, UCI Go lint and Buf only). The queue's distinct value over per-PR CI is catching semantic conflicts between PRs that each pass in isolation but not when stacked, and that signal is now gone for giga-1. If the wall-clock cost is the concern, keeping one cheap gate in the queue — e.g. a single race shard, or a non-race
go build ./... && go vet ./...— would retain compile-level conflict detection for a fraction of the current time.
|
@seidroid review |
There was a problem hiding this comment.
CI-only change that trims the giga-1 merge queue; the job-level skip predicate matches the #4178 precedent, the Race Detection roll-up correctly stays on always() and only short-circuits when both gated jobs report skipped in that queue, and the previous round's blocker about the integration-test trigger was resolved by verifying giga-1's ruleset. One documentation inconsistency remains inside sei-db-tests.yml.
Findings: 0 blocking | 2 non-blocking | 1 posted inline
Blockers
- None at the file/PR level.
Non-blocking
- None at the file/PR level.
- 1 suggestion(s)/nit(s) flagged inline on specific lines.
- 1 non-blocking pre-existing issue(s) listed below under pre-existing issues.
Pre-existing issues
- [suggestion]
go-test.ymlandsei-db-tests.ymlboth declare aworkflow_call:trigger, but no workflow in.github/workflows/invokes either viauses: ./.github/workflows/.... Underworkflow_callthegithub.eventcontext belongs to the caller, so the new giga-1 predicates would silently inherit the caller's merge-queue base — harmless today, but the unused trigger is a trap worth dropping.
Superseded: latest AI review found no blocking issues.
The giga-1 merge queue re-ran the whole PR suite for every queued entry: four race-detection shards plus the upgrade tests (Go Test), the state_db race run (Sei-DB), RocksDB tests, and the full Docker integration matrix. Those had all already passed on the PR itself, so in the queue they only added wall-clock time and runner minutes, and with several PRs landing back-to-back the queue kept re-running them on each rebase.
Merge-queue entries whose base is giga-1 now skip all of those. The required check names are preserved so the queue still gets a green result: the Go Test
Race Detectionroll-up acceptsskippedfrom the shards and upgrade tests only for the giga-1 queue, and the Sei-DBRace Detectionjob is skipped at the job level with the same predicate #4178 introduced, since a skipped job satisfies a required check. RocksDB tests are already skipped for giga-1 by #4178. Docker Integration Test drops giga-1 from itsmerge_groupfilter while still running on giga-1 pushes and pull requests. The giga-1 queue is left with lint, UCI Go lint and Buf; main and release/** are unchanged.