ci: move release job off retired ubuntu-20.04 runner - #43
Conversation
GitHub fully retired the ubuntu-20.04 hosted runner image on 2025-04-15, so the build-and-publish-to-pypi job no longer schedules and the Release workflow fails outright. 1f79b61 migrated the unit and smoke workflows to ubuntu-latest but left release.yaml on the retired label. Switch it over to match. This restores the job's ability to run. It does not change the trigger: the workflow still fires on every push to main and publishes the version in pyproject.toml, so it will fail at the upload step until that version is bumped past the 0.3.0 already on PyPI. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Greptile SummaryThis PR restores scheduling of the PyPI release job.
Confidence Score: 3/5This PR should not merge until the restored workflow avoids attempting to republish version 0.3.0 on every push to main. The runner change makes the release job executable again, but its unconditional publishing step uses an already-published package version and therefore turns each main-branch push into a failed PyPI upload. Files Needing Attention: .github/workflows/release.yaml
|
| Filename | Overview |
|---|---|
| .github/workflows/release.yaml | Restores the publishing job's runner, but thereby activates an unconditional duplicate-version upload that will fail until the package version or release gating is corrected. |
Reviews (1): Last reviewed commit: "ci: move release job off retired ubuntu-..." | Re-trigger Greptile
| build-and-publish-to-pypi: | ||
| timeout-minutes: 8 | ||
| runs-on: ubuntu-20.04 | ||
| runs-on: ubuntu-latest |
There was a problem hiding this comment.
Duplicate version upload failure
When a push reaches main before the package version advances beyond the already-published 0.3.0, restoring this runner executes the unguarded publishing step with version 0.3.0, causing PyPI to reject the duplicate upload and the release workflow to fail without publishing anything.
Deep ReviewOne line changed —
🔴 P0/P1 — must fix
🟡 P2 — recommended
🔵 P3 nitpicks (2)
Reviewers (7): correctness, security, adversarial, reliability, testing, maintainability, project-standards Testing gaps:
|
Releases can schedule again. GitHub fully retired the
ubuntu-20.04hosted runner image on 2025-04-15, so thebuild-and-publish-to-pypijob stopped running entirely. This switches it toubuntu-latest, completing the migration in 1f79b61 that covered the unit and smoke workflows but leftrelease.yamlbehind.This restores the runner, not the release path end to end. The workflow still triggers on every push to
mainand publishes whatever version is inpyproject.toml, so it will now reach the upload step and fail there until the version is bumped past the 0.3.0 already on PyPI.