ci: bump Python to 3.10 and pin actions to SHA#5453
ci: bump Python to 3.10 and pin actions to SHA#5453louiseschmidtgen merged 1 commit intocanonical:masterfrom
Conversation
742bf23 to
2264e39
Compare
- build-installer: python-version 3.8 → 3.10 - test-prep: setup-python v5 → v6.2.0, download-artifact v4 → v8 - pyproject.toml: black target-version py35 → py310 - tox.ini: black 21.4b2 → 24.10.0 (supports py310), drop click pin - installer/requirements.txt: remove dead pysha3 conditional, replace cp38 PyYAML wheel URL with PyYAML==6.0.2 from PyPI - Reformat 3 files per black 24.10.0 (trailing commas, spacing) - All 31 external GitHub Actions remain SHA-pinned
2264e39 to
fc47f8d
Compare
There was a problem hiding this comment.
Review: ci: bump Python to 3.10 and pin actions to SHA
Findings
🔴 Blockers
None
🟡 Warnings
-
Scope note: black formatter touched runtime files — The black upgrade (21.4b2 → 24.10.0) reformatted 3 installer Python files (
file_utils.py,_multipass_command.py,errors.py) with trailing commas and whitespace changes. No logic changes, but the PR notes say "CI-only changes — no runtime code modified." Consider updating the notes section to mention the formatter-driven changes. -
black version jump & click pin removal —
tox.inidrops theclick==7.1.2pin that was likely a transitive dep of the old black. The new black doesn't need it pinned, but worth a quick sanity check. -
.tox_envadded to black exclude —tox.ininow excludes.tox_envin the black command. Looks correct (matches theenvdirsetting), just wasn't mentioned in the PR description.
🔵 Nits
-
SHA comment format inconsistency —
setup-pythonuses# v6.2.0(patch) whiledownload-artifactuses# v8(major only). Minor — both are valid, but a consistent convention would be nice. -
PyYAML win32 conditional —
PyYAML==6.0.2; sys_platform == 'win32'keeps the platform guard. Fine if PyYAML is only needed for the Windows installer build.
Summary
- 🔴 Blockers: 0
- 🟡 Warnings: 3
- 🔵 Nits: 2
- Verdict: APPROVE ✅
CI is green (formatting, unit tests, CLA all passing). Changes are correct and safe. The warnings are about PR description completeness, not code correctness.
Summary
Bump all Python version references from 3.8 to 3.10 across CI and update stale GitHub Action SHAs in the test-prep composite action.
Changes
.github/workflows/build-installer.yml:python-version: 3.8→"3.10", step name updated.github/actions/test-prep/action.yaml:setup-pythonv5 → v6.2.0 (a309ff8b),download-artifactv4 → v8 (3e5f45b2)pyproject.toml: blacktarget-versionpy35→py310installer/requirements.txt:pysha3==1.0.2; python_version < '3.6'conditionalcp38PyYAML wheel URL withPyYAML==6.0.2from PyPINot changed (already on 3.10):
snap/snapcraft.yaml— already referencespython3.10,libpython3.10, etc.microk8s-resources/actions/common/utils.sh— already setsPYTHONPATHtopython3.10tox.ini— usesbasepython = python3(resolves to system default)Testing
Possible Regressions
The Windows installer build now uses Python 3.10 instead of 3.8. The
pyinstallerspec and all dependencies ininstaller/requirements.txtare compatible with 3.10.Checklist
Notes
CI-only changes — no runtime code modified.