Python SDK v0.8.3 — release with wheels#392
Conversation
Includes CI/CD workflow fixes for wheel building and release automation. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
| Filename | Overview |
|---|---|
| VERSION | Bumped to 0.8.3 but root Cargo.toml workspace version (used by Maturin to name wheels) remains 0.8.2, causing a version mismatch that will break the PyPI publish step |
| crates/pap-python/CHANGELOG.md | Adds a 0.8.3 entry with a Fixed section for CI/CD workflow improvements; date and format are correct |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Push to main / VERSION change] --> B[check-version job]
B -->|reads VERSION file 0.8.3| C{Release python-v0.8.3 exists?}
C -->|No| D[build-wheels job]
C -->|Yes| Z[Skip already released]
D -->|Maturin reads Cargo.toml workspace version 0.8.2| E[Wheels: pap_protocol-0.8.2-*.whl]
D --> F[build-sdist job]
E --> G[create-release job]
F --> G
G --> H[GitHub Release: python-v0.8.3 tag with 0.8.2 wheels]
E --> I[publish-pypi job]
F --> I
I -->|0.8.2 already on PyPI| J[PyPI publish FAILS HTTP 400 File already exists]
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 1
VERSION:1
**Cargo workspace version not bumped alongside VERSION file**
The `VERSION` file was updated to `0.8.3`, but the root `Cargo.toml` workspace version still reads `0.8.2`. Because `crates/pap-python/Cargo.toml` declares `version.workspace = true` and `pyproject.toml` sets `version` as `dynamic`, Maturin derives the wheel version directly from the Cargo workspace. The release workflow will tag GitHub as `python-v0.8.3` but upload wheels named `pap_protocol-0.8.2-*.whl`. The subsequent PyPI publish step will then fail with a "File already exists" conflict since 0.8.2 was already released.
Reviews (1): Last reviewed commit: "chore: bump Python SDK version to 0.8.3" | Re-trigger Greptile
| @@ -1 +1 @@ | |||
| 0.8.2 | |||
| 0.8.3 | |||
There was a problem hiding this comment.
Cargo workspace version not bumped alongside VERSION file
The VERSION file was updated to 0.8.3, but the root Cargo.toml workspace version still reads 0.8.2. Because crates/pap-python/Cargo.toml declares version.workspace = true and pyproject.toml sets version as dynamic, Maturin derives the wheel version directly from the Cargo workspace. The release workflow will tag GitHub as python-v0.8.3 but upload wheels named pap_protocol-0.8.2-*.whl. The subsequent PyPI publish step will then fail with a "File already exists" conflict since 0.8.2 was already released.
Prompt To Fix With AI
This is a comment left during a code review.
Path: VERSION
Line: 1
Comment:
**Cargo workspace version not bumped alongside VERSION file**
The `VERSION` file was updated to `0.8.3`, but the root `Cargo.toml` workspace version still reads `0.8.2`. Because `crates/pap-python/Cargo.toml` declares `version.workspace = true` and `pyproject.toml` sets `version` as `dynamic`, Maturin derives the wheel version directly from the Cargo workspace. The release workflow will tag GitHub as `python-v0.8.3` but upload wheels named `pap_protocol-0.8.2-*.whl`. The subsequent PyPI publish step will then fail with a "File already exists" conflict since 0.8.2 was already released.
How can I resolve this? If you propose a fix, please make it concise.
Benchmark Regression ReportThreshold: 10% regression vs baseline from main |
Summary
Changes
Version bump
VERSION: 0.8.2 → 0.8.3crates/pap-python/CHANGELOG.md: Added 0.8.3 entryWorkflow fixes (from previous commits)
repos.createReleasewithtarget_commitishinstead ofgit.createRef, which respects workflow permissions and bypasses repository rulesTest plan
Context
The 0.8.2 release was created but had no wheel files due to:
This PR fixes both issues. Once merged, the workflow will automatically build and publish Python SDK v0.8.3 with all wheels.
🤖 Generated with Claude Code