vpn-mx: give its [ci] runner ruby, so ymrtech's icon-coverage gate resolves (ymrtech#948) #1976

Merged
hermes merged 1 commit from kb/YMRT-948-icon-coverage-ruby into main 2026-10-13 15:57:28 -06:00
Collaborator

Card: ymrtech#948 (board ymrtech).

ymrtech's build-test job runs ruby tools/check-icon-coverage.rb as its FIRST step, before its Set up Ruby step — and that step itself only calls ruby --version, so the job needs an ambient Ruby on the runner PATH regardless of ordering (there is no setup-ruby action on this offline runner).

[ci] is a 3-way pool (vpn, giga, vpn-mx, all advertising ci:host). vpn/giga/mail/public carry ruby_3_3 bundler gcc gnumake patch; vpn-mx's third [ci] slot did not. Its unit PATH is hostPackages, so the one-in-three run the pool drew onto vpn-mx died ruby: command not found (status 127) at that gate (run 410 / PR ymrtech#96).

Same shape as the attic-client entry (nix-config#923): the tool a [ci] job resolves has to be in THAT instance's hostPackages.

Eval verified locally: nix eval .#nixosConfigurations.vpn-mx.config.services.gitea-actions-runner.instances.ci.hostPackages now lists ruby-3.3.10 first, and the vpn-mx toplevel evals clean.

Card: ymrtech#948 (board ymrtech). ymrtech's `build-test` job runs `ruby tools/check-icon-coverage.rb` as its FIRST step, before its `Set up Ruby` step — and that step itself only calls `ruby --version`, so the job needs an ambient Ruby on the runner PATH regardless of ordering (there is no setup-ruby action on this offline runner). `[ci]` is a 3-way pool (vpn, giga, vpn-mx, all advertising `ci:host`). vpn/giga/mail/public carry `ruby_3_3 bundler gcc gnumake patch`; vpn-mx's third `[ci]` slot did not. Its unit PATH is `hostPackages`, so the one-in-three run the pool drew onto vpn-mx died `ruby: command not found` (status 127) at that gate (run 410 / PR ymrtech#96). Same shape as the attic-client entry (nix-config#923): the tool a `[ci]` job resolves has to be in THAT instance's `hostPackages`. Eval verified locally: `nix eval .#nixosConfigurations.vpn-mx.config.services.gitea-actions-runner.instances.ci.hostPackages` now lists ruby-3.3.10 first, and the vpn-mx toplevel evals clean.
vpn-mx: give its [ci] runner ruby, so ymrtech's icon-coverage gate resolves (ymrtech#948)
All checks were successful
PR base guard / Base drift / conflict check (pull_request) Successful in 5s
NixOS Build Check / Flake input regression guard (pull_request) Successful in 6s
NixOS Build Check / Scope changed deployable hosts (pull_request) Successful in 9s
Secret Scan / gitleaks scan (pull_request) Successful in 11s
NixOS Build Check / Hermes runtime gates (one eval of vpn's runtime) (pull_request) Successful in 1m3s
NixOS Build Check / Worker-scope reaper worker signature (mutation-tested) (pull_request) Successful in 3s
NixOS Build Check / Kanban pool capacity knob (runtime override + clamp, mutation-tested) (pull_request) Successful in 2s
NixOS Build Check / Sentinel pass budget contract (prompt forbids the full board walk, mutation-tested) (pull_request) Successful in 2s
NixOS Build Check / CI-scratch reaper class table (mutation-tested) (pull_request) Successful in 3s
NixOS Build Check / Build changed host closures (native, one eval) (pull_request) Successful in 1m17s
NixOS Build Check / Scheduled foremerge reap command line (mutation-tested) (pull_request) Successful in 5s
NixOS Build Check / .forgejo/tests python suites (hermetic) (pull_request) Successful in 28s
NixOS Build Check / foremerge accept-order contract (real binary) (pull_request) Successful in 1m12s
foremerge intent (advisory) all 1 changed path(s) covered by a live foremerge intent
NixOS Build Check / Repo gates (the folded selftest battery) (pull_request) Successful in 3m48s
78c1e29fda
ymrtech-deploy.yml's build-test job runs `ruby tools/check-icon-coverage.rb`
as its FIRST step, before its `Set up Ruby` step - and that step itself only
calls `ruby --version`, so the job needs an ambient Ruby on the runner PATH
either way. vpn, giga, mail and public all carry ruby_3_3 in their runner
hostPackages; vpn-mx's third `[ci]` slot did not, so the one-in-three run the
pool drew here died `ruby: command not found` (status 127) at that gate.

The tool a `[ci]` job resolves must be in THIS instance's hostPackages - that
list IS the unit's PATH (same shape as the attic-client entry, nix-config#923).
hermes merged commit 6303bae8a5 into main 2026-10-13 15:57:28 -06:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ymrtech/nix-config!1976
No description provided.