mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 03:38:23 +00:00
feat(ci): keep GitHub-hosted runner labels current through the updater
The workflows pin `runs-on: ubuntu-NN.NN`, so no job moves to a new Ubuntu release behind our back, but nothing raised the pin either. A sixth job of `🔄 Update versions` closes that: `utils/update/runner.py` reads the image table of actions/runner-images, takes the newest x64 Ubuntu label whose image carries no preview or beta badge, and raises every older bare `runs-on: ubuntu-NN.NN` to it; arch-suffixed labels stay untouched. The job opens the change as one PR over `.github/workflows`, so its CI run tests the new image before it reaches main. This commit carries the updater's first result: every job now runs on ubuntu-26.04 (49 `runs-on`). actionlint 1.7.12, the newest release, does not know `ubuntu-26.04` yet (rhysd/actionlint#682, fix proposed in rhysd/actionlint#743), so `.github/actionlint.yaml` declares the label until a release knows it. act maps each `ubuntu-NN.NN` label the workflows use to the local platform image, derived from `.github/workflows`, instead of a fixed list that did not know ubuntu-26.04. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
52ad8549e0
commit
b055eece05
36 files changed
+307
-55
No files matched your search
@@ -49,11 +49,11 @@ Some CI failures (most notably OOM-kills such as [#162](https://github.com/infin
|
||||
|
||||
### GitHub-Hosted Runner Specs
|
||||
|
||||
All [workflows](../../../../.github/workflows/) target `runs-on: ubuntu-24.04`, the GitHub-hosted standard Linux runner pinned to one Ubuntu release. GitHub still refreshes that image weekly; moving to the next release is a deliberate change of the label, and `tests/lint/repository/test_workflow_runner_pinned.py` rejects `*-latest` labels. The effective ceiling depends on the repository's visibility and plan:
|
||||
All [workflows](../../../../.github/workflows/) target `runs-on: ubuntu-26.04`, the GitHub-hosted standard Linux runner pinned to one Ubuntu release. GitHub still refreshes that image weekly. The `🏃 Update GitHub-hosted runner labels` job of [cron-update.yml](../../../../.github/workflows/cron-update.yml) opens a pull request when a newer GA x64 Ubuntu image is listed in [actions/runner-images](https://github.com/actions/runner-images), and `tests/lint/repository/test_workflow_runner_pinned.py` rejects `*-latest` labels. The effective ceiling depends on the repository's visibility and plan:
|
||||
|
||||
| Repository / plan | vCPU | RAM | SSD |
|
||||
|------------------------------------------|------|--------|-------|
|
||||
| Public repo (this repo, `ubuntu-24.04`) | 4 | 16 GB | 14 GB |
|
||||
| Public repo (this repo, `ubuntu-26.04`) | 4 | 16 GB | 14 GB |
|
||||
| Private repo on Free / Pro / Team | 2 | 7 GB | 14 GB |
|
||||
| Private repo on Enterprise | 4 | 16 GB | 14 GB |
|
||||
|
||||
@@ -70,7 +70,7 @@ For the authoritative specs, see the upstream docs for [standard hosted runners]
|
||||
Pick the profile that matches the runner you want to mimic:
|
||||
|
||||
```sh
|
||||
# Public repo runner (ubuntu-24.04, 4 vCPU / 16 GB): the default CI target
|
||||
# Public repo runner (ubuntu-26.04, 4 vCPU / 16 GB): the default CI target
|
||||
INFINITO_MEM_LIMIT=16g INFINITO_MEMSWAP_LIMIT=16g INFINITO_CPUS=4 make <target>
|
||||
|
||||
# Private repo runner on Free/Pro/Team (2 vCPU / 7 GB)
|
||||
|
||||
Reference in new issue
Block a user