Skip to content

ci: pin poetry version to 1.8.5 for Python 3.9 compatibility#51

Open
kinyoklion wants to merge 5 commits into
mainfrom
devin/1780593159-fix-ci-poetry-python39
Open

ci: pin poetry version to 1.8.5 for Python 3.9 compatibility#51
kinyoklion wants to merge 5 commits into
mainfrom
devin/1780593159-fix-ci-poetry-python39

Conversation

@kinyoklion

@kinyoklion kinyoklion commented Jun 4, 2026

Copy link
Copy Markdown
Member

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

Related issues

CI failing on Python 3.9 matrix entries due to Poetry installation error.

Describe the solution you've provided

Moves pipx install poetry==1.8.5 before actions/setup-python so pipx uses the system Python (3.12) instead of the matrix Python (3.9). Poetry 1.8.5's transitive dependencies now require Python 3.10+ (dataclass(slots=True)), so installing via pipx under Python 3.9 fails with TypeError: dataclass() got an unexpected keyword argument 'slots'.

Describe alternatives you've considered

  • Pinning Poetry to an older version — would miss bug fixes and features
  • Dropping Python 3.9 from the matrix — still a supported version

Additional context

Verified: 3/3 CI passes across all Python versions (3.9–3.13) on both Linux and Windows.

Link to Devin session: https://app.devin.ai/sessions/e40ffc3296dd45648f86ac10c42b6da5
Requested by: @kinyoklion


Note

Low Risk
Workflow-only change (step order and Poetry pin); no application or runtime behavior changes.

Overview
Fixes CI failures on Python 3.9 by changing when Poetry is installed in the Linux and Windows matrix jobs.

On both jobs, the Install poetry step now runs before actions/setup-python, and Poetry is explicitly pinned to 1.8.5. That way Poetry is installed with the runner’s default Python instead of the matrix version, avoiding install errors when the matrix is 3.9 (Poetry 1.8.5’s dependencies expect Python 3.10+). Test and lint steps are unchanged; only workflow ordering and the Poetry version pin differ.

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

The latest Poetry version has dependencies that use
dataclass(slots=True), a Python 3.10+ feature. This caused
CI failures on the Windows Python 3.9 matrix entry.

Co-Authored-By: rlamb@launchdarkly.com <4955475+kinyoklion@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 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

@devin-ai-integration devin-ai-integration Bot added the devin-pr Pull request created by Devin AI label Jun 4, 2026
devin-ai-integration Bot and others added 3 commits June 4, 2026 17:22
Co-Authored-By: rlamb@launchdarkly.com <4955475+kinyoklion@users.noreply.github.com>
Co-Authored-By: rlamb@launchdarkly.com <4955475+kinyoklion@users.noreply.github.com>
Co-Authored-By: rlamb@launchdarkly.com <4955475+kinyoklion@users.noreply.github.com>
@kinyoklion kinyoklion marked this pull request as ready for review June 4, 2026 20:25
@kinyoklion kinyoklion requested a review from a team as a code owner June 4, 2026 20:25
Comment thread .github/workflows/ci.yml
with:
python-version: ${{ matrix.python-version }}

- name: Install poetry

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated to use abatilo/actions-poetry with poetry-version: "1.8.5", kept before setup-python. Pushed in d6f4437.

Switch back to abatilo/actions-poetry action per review feedback,
with poetry-version pinned to 1.8.5. Kept before setup-python to
avoid Python 3.9 transitive dependency issue.

Co-Authored-By: rlamb@launchdarkly.com <4955475+kinyoklion@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devin-pr Pull request created by Devin AI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants