Skip to content

Modernize Python support and CI for Python 3.14#67

Merged
dustinblack merged 3 commits into
mainfrom
python-3.14-support
Jun 11, 2026
Merged

Modernize Python support and CI for Python 3.14#67
dustinblack merged 3 commits into
mainfrom
python-3.14-support

Conversation

@dustinblack

Copy link
Copy Markdown
Member

Summary

  • Update minimum Python version from ^3.9 to ^3.12 and PyYAML from >=5.4 to ^6.0.1 (5.x does not support Python 3.14).
  • Replace hardcoded Python version matrix ['3.9', '3.10', 'pypy3.9'] with org-level ARCALOT_PYTHON_SUPPORTED_VERSIONS variable, and hardcoded '3.9' conditionals with ARCALOT_PYTHON_VERSION.
  • Use ARCALOT_POETRY_VERSION org variable for Poetry installation.
  • Update GitHub Actions: checkout v3→v4, setup-python v4→v5, upload-artifact v3→v4, download-artifact v3→v4.
  • Add version suffixes to artifact names (required by upload-artifact v4 with matrix builds).
  • Update runner to ubuntu-24.04.

Test plan

  • After merging, set org variable ARCALOT_PYTHON_SUPPORTED_VERSIONS to ['3.12', '3.13', '3.14']
  • Set new org variable ARCALOT_POETRY_VERSION to 1.8.3
  • Verify CI passes with the org variable-driven matrix

🤖 Generated with Claude Code

Update minimum Python version from 3.9 to 3.12 and PyYAML from
>=5.4 to ^6.0.1 (5.x does not support Python 3.14).

Modernize CI workflow:
- Replace hardcoded Python version matrix with org-level
  ARCALOT_PYTHON_SUPPORTED_VERSIONS variable
- Replace hardcoded '3.9' conditionals with ARCALOT_PYTHON_VERSION
- Use ARCALOT_POETRY_VERSION org variable for Poetry installation
- Update GitHub Actions: checkout v3->v4, setup-python v4->v5,
  upload-artifact v3->v4, download-artifact v3->v4
- Add version suffixes to artifact names (required by
  upload-artifact v4 with matrix builds)
- Update runner to ubuntu-24.04

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@dustinblack dustinblack force-pushed the python-3.14-support branch from 660c67f to 215f057 Compare June 11, 2026 11:39
Lock file was out of sync with pyproject.toml after updating
PyYAML from >=5.4 to ^6.0.1.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@dustinblack

Copy link
Copy Markdown
Member Author

Note: The Python 3.14 CI failure is expected — it's caused by the ForwardRef/PEP 649 bug in the currently released arcaflow-plugin-sdk. The fix is in arcalot/arcaflow-plugin-sdk-python#146, which needs to be merged and released first.

Once a new SDK version with the fix is published, this PR's 3.14 build will pass.

@dustinblack dustinblack marked this pull request as draft June 11, 2026 11:49
SDK 0.14.5 includes the ForwardRef/PEP 649 fix required for
Python 3.14 compatibility.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@dustinblack dustinblack marked this pull request as ready for review June 11, 2026 17:16
@dustinblack dustinblack merged commit 268c019 into main Jun 11, 2026
4 checks passed
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.

2 participants