ci: fix lowest runner to keep focal (drop amd64)
Metadata
Current evaluation
PR #1743 was closed unmerged as stale; its amd64 removal and key CI checks were incomplete. PR #1748 later fixed the Focal CI failure another way.
Resolution: closed stale
Reason: Review and the key minimum-dependency check were still pending when the PR was closed, and no #1743 commit exists. Merged PR #1748, commit 21870800, addressed the Focal failures through root and skip handling while retaining the runner labels.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Fixes min-versions CI failure on `test-common / Minimum dependencies` – see https://github.com/canonical/craft-parts/actions/runs/36033223737/job/107746873946?pr=1659
**Root cause:** `lowest-python-platform: '["amd64", "focal"]'` selects a specific self-hosted focal runner that fails with `UV_RESOLUTION=lowest`:
- `PermissionError: [Errno 1] Operation not permitted` in `test_write_overlay_migration_*` (mount --make-rprivate / fuse-overlayfs)
- `OverlayStageConflict` in `test_overlay_must_not_collide` (layer-hides-file/dir)
All are overlay/fuse related and only reproduce on that runner label. `["focal"]` (without `amd64`) still tests EOL 20.04 on the healthy self-hosted focal runner and passes – see `test-other-plugins / Minimum dependencies` success in same run, and `test-flaky / Minimum dependencies` success.
**Fix:** keep focal (required for EOL base coverage per comment in qa.yaml) but drop `amd64`:
- `test-common`: `'["amd64", "focal"]'` → `'["focal"]'`
- `test-flaky`: `'["amd64", "focal"]'` → `'["focal"]'`
- `test-other-plugins` already `'["focal"]'` – no change
Adds FIXME comment linking failing run.
**Not acceptable to switch to ubuntu-22.04** – we need to keep focal for chisel EOL testing (per user feedback).
**Draft iteration:** all jobs except `test-common` temporarily `if: false` (`lint`, `test-flaky`, `test-java-plugins`, `test-python-plugins*`, `test-other-plugins`, `test-requires-root`) so only `test-common / Minimum dependencies (all tests)` on focal / py3.10 / lowest runs while iterating. Remove guards before merge.
Verification: push triggers only `test-common`; check `Minimum dependencies (all tests)` on focal / py3.10 / UV_RESOLUTION=lowest passes.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed stale | PR #1743 was closed unmerged as stale; its amd64 removal and key CI checks were incomplete. PR #1748 later fixed the Focal CI failure another way. | |
| stealth/space-bunny-alpha | — | closed stale | CI runner-label change was closed unmerged as stale; review and key minimum-dependency checks were pending, and main retains the amd64+focal labels. | |
| stealth/space-bunny-alpha |
Impact:
20
Quick Win:
4
Complexity:
10
Confidence:
78
Actionability:
25
|
keep open | ci: switches lowest-dependency jobs in .github/workflows/qa.yaml from ["amd64","focal"] to ["focal"] runner labels to dodge overlay/fuse failures on the amd64 focal runner; draft with temporary `if: false` guards on other jobs, review pending | |
| stealth/space-bunny-alpha |
Impact:
30
Quick Win:
8
Complexity:
15
Confidence:
98
Actionability:
30
|
keep open | Switches lowest-dependency CI from self-hosted focal to ubuntu-22.04. Other jobs remain temporarily disabled, and the target minimum-dependency check is still pending. |
Update history
| Date | Change |
|---|---|
| closed | |
| updated | |
| created |
Related work
-
Caused By:
canonical/craft-parts#1659
(confidence 95%)
Its minimum-dependency CI run exposed the Focal overlay and fuse failures targeted by PR #1743.
-
Superseded By:
canonical/craft-parts#1748
(confidence 90%)
Merged an alternative fix for the Focal CI failures by root-gating or skipping incompatible tests.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1070 ci: drop focal tests | craft-parts | merged | Merged PR #1070 as commit 0a735cf3, removing Ubuntu Focal CI tests after GitHub retired the hosted Focal runner; all reported checks passed. | |
| #1256 Run CI on Focal | craft-parts | open | Focal remains supported, but the requested self-hosted amd64 Focal runner is absent from slow-test platforms, leaving reproducible full-lifecycle CI coverage unimplemented. |