Skip to content

chore(ci): pin ubuntu-latest to ubuntu-24.04 across all non-Docker runners (ADR-0802) - #165

Closed
lusoris wants to merge 1 commit into
masterfrom
chore/ci-runner-standardization-20260529
Closed

lusoris wants to merge 1 commit into
masterfrom
chore/ci-runner-standardization-20260529

Conversation

@lusoris

@lusoris lusoris commented May 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Replace floating ubuntu-latest runner alias with ubuntu-24.04 across 15 workflow files, preventing silent toolchain drift when GitHub promotes the alias to Ubuntu 26.04 (expected H2 2026).
  • Add ADR-0802 documenting the decision and pin policy.

Audit findings:

Check Result
Ubuntu version consistency Fixed: all non-Docker jobs now ubuntu-24.04
CUDA toolkit pin No action: already 13.2.0 everywhere (ADR-0603)
Windows runners No action: windows-2025 consistently across all jobs
macOS runners No action: macos-latest intentional (Apple Silicon)
Container images No action: semgrep/semgrep already SHA-pinned
upstream-watcher.yml Fixed: was ubuntu-latest, siblings were ubuntu-24.04

Not changed: docker-image.yml and docker-publish-production.yml — Docker build host OS version does not affect the produced image.

Reset note: This PR was reconstructed from scratch against master. Previous contamination (Go workspace audit, DNN changes, SYCL refactors, Helm chart edits, etc.) was stripped. Final diff: 19 files, 15 workflow YAMLs + ADR + changelog + README row + rebase-notes entry.

Test plan

  • All CI jobs pass (runner images unchanged in practice; ubuntu-latest currently resolves to ubuntu-24.04)
  • check-yaml pre-commit hook passes (verified locally — all green)

Deliverables checklist (ADR-0108)

  • Research digest — no digest needed: trivial runner-label audit
  • Decision matrix — in ADR-0802 ## Alternatives considered
  • AGENTS.md invariant note — no rebase-sensitive invariants: CI workflows are fork-local
  • Reproducer / smoke-test command — run any PR CI; all Ubuntu jobs now explicitly ubuntu-24.04
  • CHANGELOG fragment — changelog.d/changed/ci-runner-ubuntu-24-pin.md
  • Rebase note — docs/rebase-notes.md entry added (no rebase impact: CI workflows are fork-local)

🤖 Generated with Claude Code

@lusoris
lusoris enabled auto-merge (squash) May 29, 2026 10:19
@lusoris
lusoris force-pushed the chore/ci-runner-standardization-20260529 branch from df98418 to 3d21995 Compare May 29, 2026 11:31
@lusoris
lusoris disabled auto-merge May 29, 2026 11:49
@lusoris
lusoris marked this pull request as draft May 29, 2026 11:49
@lusoris
lusoris force-pushed the chore/ci-runner-standardization-20260529 branch 2 times, most recently from 892e585 to de1204f Compare May 29, 2026 13:22
…nners (ADR-0802)

Replace floating `ubuntu-latest` runner alias with `ubuntu-24.04` across 15
workflow files to prevent silent toolchain drift when GitHub promotes the alias
to Ubuntu 26.04 (expected H2 2026). Add ADR-0802 documenting the pin policy.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lusoris
lusoris force-pushed the chore/ci-runner-standardization-20260529 branch from de1204f to ae4d3a3 Compare May 29, 2026 15:32
@lusoris
lusoris marked this pull request as ready for review May 31, 2026 13:40
@lusoris

lusoris commented May 31, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by master after merge marathon 2026-05-31.

@lusoris lusoris closed this May 31, 2026
@lusoris
lusoris deleted the chore/ci-runner-standardization-20260529 branch May 31, 2026 13:43
@lusoris
lusoris restored the chore/ci-runner-standardization-20260529 branch May 31, 2026 18:44
@lusoris lusoris reopened this May 31, 2026
@lusoris
lusoris marked this pull request as draft May 31, 2026 18:50
@lusoris

lusoris commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #520 — bundled per 2026-06-01 triage.

@lusoris lusoris closed this Jun 1, 2026
lusoris added a commit that referenced this pull request Jun 2, 2026
…141 #165 #173 #183

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
lusoris added a commit that referenced this pull request Jun 2, 2026
…-24.04 pin + #173 Renovate grouping + #183 release-please draft) (#520)

* chore(ci): nightly workflow audit — remove redundant TSan, fix retention + Python ver (ADR-0793)

Three targeted fixes surfaced by a periodic nightly-CI audit:

1. Remove the `tsan` job from nightly.yml. sanitizers.yml already fires
   TSan on every push to master (ADR-0710); the daily cron duplicate burned
   ~45 runner-minutes/night for zero additional signal.

2. Add explicit `retention-days` to both nightly artifacts: 14 d for the
   clang-tidy-full-report (diagnostic value expires quickly) and 30 d for
   nightly-benchmark-results (one month of period-over-period comparisons).
   Both previously defaulted to GitHub's 90-day retention.

3. Fix `python-version: "3.14.5"` → `"3.12"` in nightly-bisect.yml.
   Python 3.14 is a pre-release alpha series with no stable release; the
   step name ("Set up Python 3.12") was correct and the version string was
   wrong. This would cause the job to fail trying to download a non-existent
   release.

No functional changes to test coverage. All nightly signal is preserved.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(ci): pin ubuntu-latest to ubuntu-24.04 across all non-Docker runners (ADR-0802)

Replace floating `ubuntu-latest` runner alias with `ubuntu-24.04` across 15
workflow files to prevent silent toolchain drift when GitHub promotes the alias
to Ubuntu 26.04 (expected H2 2026). Add ADR-0802 documenting the pin policy.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(deps): Renovate — Go/Cargo grouping, off-hours schedule, PR-cap (ADR-0812)

- Global schedule: "at any time" → "before 6am on weekdays" (Europe/Vienna);
  vulnerability alerts retain their existing "at any time" override.
- Add gomod packageRule: minor+patch grouped, auto-merged Monday mornings;
  major individual, manual review.
- Add cargo packageRule: same group-and-automerge pattern; major manual.
- prConcurrentLimit: 12 → 10 (Go grouping reduces PR count per cycle).
- ADR-0812 documents the decision and alternatives.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(release): set release-please draft mode for manual version review

Set `"draft": true` in `release-please-config.json` root package so the
next release PR opens as a draft, requiring manual review before merge.
Prevents an unintended `4.0.0` major bump caused by three incorrectly
marked breaking commits (PR #52, #80, #108).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(ci): add bundle CHANGELOG fragment for CI workflow hygiene PRs #141 #165 #173 #183

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Lusoris <lusoris@pm.me>
@lusoris
lusoris deleted the chore/ci-runner-standardization-20260529 branch June 4, 2026 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant