Skip to content

ci: install poetry before setup-python in release workflows - #58

Merged
kinyoklion merged 1 commit into
mainfrom
devin/1789057292-poetry-before-setup-python
Sep 10, 2026
Merged

ci: install poetry before setup-python in release workflows#58
kinyoklion merged 1 commit into
mainfrom
devin/1789057292-poetry-before-setup-python

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Installs poetry before actions/setup-python in both release workflows, matching ci.yml, so the release build keeps Python 3.9.

Requirements

  • I have added test coverage for new or changed functionality
  • I have followed the repository's pull request submission guidelines
  • I have validated my changes against all supported platform versions
Implementation details

Root cause: with setup-python first, the poetry action's pipx install runs under the 3.9 interpreter that setup-python just provisioned — and setup-python upgrades pip in that interpreter (Successfully installed pip-26.0.1 in the job log). pip 26 no longer supports 3.9, so pipx fails with TypeError: dataclass() got an unexpected keyword argument 'slots' (that kwarg is 3.10+). This is version-independent for poetry, which is why pinning poetry-version: "1.8.5" in #56 did not fix it.

Why ci.yml stayed green: it installs poetry first, so pipx uses the runner image's interpreter — the 3.9 matrix job logs installed package poetry 1.8.5, installed using Python 3.12.3 — and setup-python then provisions 3.9 for the steps that follow. This PR gives the release workflows the same ordering, so poetry itself runs on the image python while poetry build / make docs still execute against 3.9.

Alternative rejected: bumping the release interpreter to 3.13 (#57, closed) — it works, but drops 3.9 from the release path unnecessarily.

Link to Devin session: https://app.devin.ai/sessions/27c11423375c4470807e81afc8567bb1
Open in Devin Desktop: https://app.devin.ai/desktop/session/27c11423375c4470807e81afc8567bb1?variant=devin


Note

Overview
Reorders steps in manual-publish.yml and release-please.yml so Install poetry runs before actions/setup-python, matching ci.yml.

This fixes release jobs that failed when poetry was installed via pipx after setup-python had upgraded pip on Python 3.9 (pip 26 + 3.9 incompatibility). Poetry now installs using the runner’s default interpreter; Python 3.9 and poetry 1.8.5 are unchanged for build/publish steps.

Reviewed by Cursor Bugbot for commit 19d346d. Bugbot is set up for automated code reviews on this repo. Configure here.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration
devin-ai-integration Bot requested a review from a team as a code owner September 10, 2026 16:22
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@kinyoklion
kinyoklion merged commit 0982f9d into main Sep 10, 2026
17 checks passed
@kinyoklion
kinyoklion deleted the devin/1789057292-poetry-before-setup-python branch September 10, 2026 16:27
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