Update GitHub Actions and upgrade to Python 3.13#10
Conversation
PrestonHager
commented
Jan 18, 2026
- Update actions/checkout to v6, cachix/install-nix-action to v31, cachix/cachix-action to v16, and upload-artifact to v6
- Upgrade generate-mac-installer-github-action to v1.0.4 with version param
- Bump minimum Python version from 3.12 to 3.13
- Separate Windows build into dedicated job using Chocolatey instead of Nix
- Update uv.lock to reflect Python 3.13 requirement
- Update actions/checkout to v6, cachix/install-nix-action to v31, cachix/cachix-action to v16, and upload-artifact to v6 - Upgrade generate-mac-installer-github-action to v1.0.4 with version param - Bump minimum Python version from 3.12 to 3.13 - Separate Windows build into dedicated job using Chocolatey instead of Nix - Update uv.lock to reflect Python 3.13 requirement
There was a problem hiding this comment.
Pull request overview
This PR upgrades the project's minimum Python version from 3.12 to 3.13 and updates GitHub Actions dependencies. It also restructures the build workflow by separating Windows builds into a dedicated job that uses Chocolatey for package management instead of Nix.
Changes:
- Bumped minimum Python version requirement from 3.12 to 3.13 in pyproject.toml and uv.lock
- Updated GitHub Actions: checkout (v3→v6), install-nix-action (v27→v31), cachix-action (v15→v16), upload-artifact (v4→v6)
- Separated Windows build into dedicated job using Chocolatey instead of Nix
- Updated macOS installer action to v1.0.4 with explicit version parameter
- Removed Python 3.12-specific wheel entries from uv.lock
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| uv.lock | Updated Python requirement to 3.13 and removed Python 3.12-specific wheel entries |
| pyproject.toml | Bumped requires-python from >=3.12 to >=3.13 |
| .github/workflows/python-app-build.yml | Updated action versions, split Windows build into separate job, added macOS installer version parameter |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - uses: actions/checkout@v6 | ||
| - name: Install Python and uv | ||
| run: | | ||
| choco install python --version=3.12.0 |
There was a problem hiding this comment.
The Windows build job is installing Python 3.12.0, but this PR upgrades the project to require Python 3.13. This version should be changed to 3.13.0 to be consistent with the project requirements updated in pyproject.toml and uv.lock.
| choco install python --version=3.12.0 | |
| choco install python --version=3.13.0 |
| @@ -46,21 +80,12 @@ jobs: | |||
| if: runner.os == 'Windows' | |||
There was a problem hiding this comment.
This condition if: runner.os == 'Windows' is redundant in the build-windows job, which already runs only on windows-latest. The condition will always evaluate to true and can be removed.
| if: runner.os == 'Windows' |
| - windows-latest | ||
| - macos-latest | ||
| python-version: [ 3.12 ] | ||
| python-version: [ 3.13 ] |
There was a problem hiding this comment.
The matrix variable python-version is defined but never used in the build job steps. Since the job relies on Nix to provide the Python environment, this matrix variable serves no purpose and should be removed to avoid confusion.
| python-version: [ 3.13 ] |
| - name: Upload artifacts | ||
| uses: actions/upload-artifact@v6 | ||
| with: | ||
| name: wordweaver-${{ matrix.os }} |
There was a problem hiding this comment.
The artifact name uses matrix.os which will produce names like "wordweaver-ubuntu-latest" and "wordweaver-macos-latest". These naming conventions are inconsistent with the Windows job which uses "wordweaver-Windows". Consider using a more consistent naming scheme, such as "wordweaver-Ubuntu", "wordweaver-macOS", and "wordweaver-Windows" for clarity.
| name: wordweaver-${{ matrix.os }} | |
| name: wordweaver-${{ runner.os }} |