Repository navigation
fix(ci): unblock merge queue evictions - #24056
Conversation
Two independent CI bugs evict runs from the develop merge queue. ci-deployments: the shard gate listed its own run's jobs from the Actions Jobs API. That API reports `conclusion: null` for jobs that finished seconds earlier, and the gate always starts seconds after the last shard, so it failed 4 of the last 60 runs with every shard green. Read `needs.deployment-tests.result` instead, as the `lint` gate in ci-core.yml already does. Drops the now-unused `shard-count` output. tools/ci: TestRunnerSpot_CLI_Human passes `--event` and `--ref` but leaves `--ref-name` unset, so the CLI falls back to ambient GITHUB_REF_NAME. In a merge_group runner that is `gh-readonly-queue/<base>/<branch>`, which trips isMergeQueue() and returns spot=false instead of spot=co. Every merge queue run has failed CI Tools since the spot change landed. Pin `--ref-name` and `--ref-type` so the test is hermetic.
|
👋 kalverra, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
|
✅ No conflicts with other open PRs targeting |
PR Triage · Risk Medium · Complexity LowSuggests 1 approval, including one from an owner. Suggested reviewers: @Tofel, @erikburt.
Start Review HereVisualizationsScore mapflowchart LR
R["Risk: Medium"]
r0[".github/workflows/ci-deployments.yml"] -->|"workflow edit"| R
C["Complexity: Low"]
cn["no rule or threshold applied"] --> C
RT["Suggests 1 approval · one from an owner"]
R --> RT
classDef low fill:#dafbe1,stroke:#1a7f37,color:#1f2328;
classDef medium fill:#fff8c5,stroke:#9a6700,color:#1f2328;
classDef high fill:#ffebe9,stroke:#cf222e,color:#1f2328;
class R medium;
class C low;
Change shapepie title Change shape
"Tests" : 24
"Source" : 359
— concentrated in Files: 2 changedWorkflow changes
Why these reviewers
Others who know this code: jmank88 19%, FelixFan1992 17%. Ranked by commits to the changed files in the 360 days before the head commit; newer commits count more. Requested everyone with at least 20% of the score, up to 4. Added 1 reviewer below that to reach 2 reviewers. Excluded the PR author, @kalverra. Considered only current members of the repository's organization. Metrics and policy
Risk signals: pr-triage v0.0.0-20261022180816-8d1680a70e5d+dirty · policy |
|





Intent
Every PR entering the develop merge queue has been evicted since #23555 landed (~16:11 UTC today) by two independent CI bugs. This fixes both.
Notes
ci-deploymentsgate listed its own run's jobs from the Actions Jobs API, which reportsconclusion: nullfor jobs that finished seconds earlier. The gate starts seconds after the last shard, so it failed 4 of the last 60Deployment Testsruns with all 7 shards green.merge_grouprunsGITHUB_REF_NAMEisgh-readonly-queue/<base>/<branch>, soTestRunnerSpot_CLI_Humanresolvedspot=falseinstead ofspot=coeven though it passed--event push --ref refs/heads/develop. It only fails under merge queue env.Core Tests (go_core_deployment_tests)is unchanged; branch protection is unaffected.Changes
Deployment shard gate reads the workflow result instead of the Jobs API
deployment-tests-resultnow checksneeds.deployment-tests.result, the same pattern as thelintgate inci-core.yml.Expected 7 rows, got 0.shard-countoutput and theactions: readpermission.Spot CLI test pinned to its own ref instead of ambient merge-queue env
TestRunnerSpot_CLI_Humannow passes--ref-name develop --ref-type branch.tools/cisuite verified green withGITHUB_REF_NAME,GITHUB_REF, andGITHUB_EVENT_NAMEset to merge-queue values.