fix(ci): make ci-required fleet-independent to unblock PRs when velnor offline - #180
fix(ci): make ci-required fleet-independent to unblock PRs when velnor offline#180donbeave wants to merge 1 commit into
Conversation
…r offline PR #179 (2e978c5, run 32965323583) velnor lane passed but ci-required (job 98180876238, self-hosted,velnor-target-mvp) queued 57m+ never started. Runners via gh api show velnor- target-mvp offline/busy. Push events to main use ubuntu-26.04 and succeed (ci at d2a3450). The aggregator only enforces the fleet contract (checks reusable-workflow outputs); it does not need a self-hosted runner. Make ci-required run on ubuntu-26.04 always. Heavy jobs keep velnor as default via the lane input (github.event_name == push ? github : velnor), preserving .github/AGENTS.md policy: velnor is default, github is pinned comparison and fleet- recovery lane, both executes identical steps. Reverts the ci-required runner part of 73d5bbb (which moved PRs to self-hosted) while keeping the lane routing that sends push to github for merged_push_occupancy. Verified: cargo check --all-targets --all-features --locked and cargo nextest run --all-features pass locally; workflow YAML remains valid. Based-on-main: d2a3450 Signed-off-by: Alexey Zhokhov <alexey@zhokhov.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6cd57590b3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - ChainArgos | ||
| if: ${{ always() }} | ||
| runs-on: ${{ ((github.event_name == 'workflow_dispatch' && inputs.lanes == 'github') || github.event_name == 'push') && 'ubuntu-26.04' || fromJSON('["self-hosted","velnor-target-mvp"]') }} | ||
| runs-on: ubuntu-26.04 |
There was a problem hiding this comment.
Keep Velnor-default checks on the Velnor runner
For pull_request, merge_group, and manual lanes=velnor executions, this unconditional label sends ci-required to GitHub-hosted infrastructure while the selected reusable workflow remains on the Velnor lane, producing a mixed-lane run. This violates the repository's canonical runner invariant that the automatic/manual Velnor default uses self-hosted,velnor-target-mvp, while ubuntu-26.04 is reserved for the GitHub comparison/recovery lane; retain lane-aware runner selection or update the canonical policy and generator first.
AGENTS.md reference: .github/AGENTS.md:L3-L8
Useful? React with 👍 / 👎.
Branched from main@d2a3450
Summary
PR #179 (2e978c5, run 32965323583) velnor lane passed but
ci-required(job 98180876238,self-hosted,velnor-target-mvp) queued 57m+ never started. Fleet shows velnor-target-mvp runners offline/busy while push events to main (ubuntu-26.04) succeed. The aggregator only enforces the fleet contract; it does not need a self-hosted runner.Fix
ci-requiredruns-on: ubuntu-26.04always (reverts ci-required part of 73d5bbb).velnoras default vialaneinput (push ? github : velnor), preserving.github/AGENTS.mdpolicy: velnor default, github pinned comparison/fleet-recovery lane, both identical steps.merged_push_occupancy) unchanged.Verification
cargo check --all-targets --all-features --locked— passcargo clippy --all-targets -- -D warnings— passcargo fmt --all --check— passcargo nextest run --all-features— 263 passedruns-on: ubuntu-26.04verifiedRisk
Low. Restores pre-73d5bbb aggregator behavior. No lane, SHA pin, or cache changes. Velner heavy gates unchanged.
Fixes queued
ci-requiredfor #179 without merging it.