Repository navigation
v1.1.1
v1.1.1 (2025-10-16)
Fix
- fix: Disable build in semantic-release, let publish workflow handle it
semantic-release runs in isolated environment without build dependencies.
The publish workflow already handles building (uv build) and publishing.
semantic-release should focus on:
- Updating version in pyproject.toml
- Creating CHANGELOG entries
- Creating git tags and GitHub releases
The publish workflow (on release published) will:
- Build the package (uv build)
- Publish to PyPI
This separation of concerns works better with the GitHub Actions ecosystem.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com> (bb396be)
- fix: Use python -m build instead of uv build in semantic-release
The semantic-release action runs in its own environment where 'uv' is not
available in PATH. Use 'python -m build' which only requires the 'build'
package (already available as a dev dependency).
This allows the build step to work properly during automated releases.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com> (f0b5677)
- fix: Test semantic-release workflow with proper configuration
This test commit verifies:
- Stable version of semantic-release action (v9.8.3)
- Version variable update from pyproject.toml configuration
- Build command using uv build
- Proper environment variables for GitHub and PyPI
Expected outcome:
- Version bumped from 1.0.1 to 1.0.2 (patch bump for fix)
- CHANGELOG.md updated with this commit
- New GitHub release created (v1.0.2)
- Package built and published to PyPI
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com> (43e4cf4)
- fix: Remove invalid build_command parameter from GitHub Action
The GitHub Action does not accept build_command as an input parameter.
The build_command is configured in pyproject.toml under [tool.semantic_release]
and will be read from there by the action.
Valid action parameters: entryPoint, args, root_options, directory, github_token,
git_committer_name, git_committer_email, ssh keys, prerelease, force, commit,
tag, push, changelog, vcs_release, build_metadata
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com> (f8732be)
- fix: Simplify version_variable configuration for semantic-release
- Update version_variable back to simple format: "pyproject.toml:version"
- Add directory parameter to GitHub Action for clarity
- This should allow semantic-release to properly update the version field
The nested TOML path might not be supported by the Python semantic-release
action, so we're using the simpler format that maps to the top-level version
variable directly.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com> (8139951)
- fix: Fix semantic-release to properly update version in pyproject.toml
Root causes fixed:
- Using unstable @master version of semantic-release action
- Incorrect version_variable path (was "pyproject.toml:version", should be "pyproject.toml:project.version")
- Using "python -m build" instead of "uv build"
- Insufficient parameters in GitHub Action configuration
Changes:
- Update action to stable version: python-semantic-release/python-semantic-release@v9.8.3
- Fix version_variable path to proper TOML notation: pyproject.toml:project.version
- Update build_command to use uv: "uv build"
- Add proper environment variables: GH_TOKEN, PYPI_TOKEN
- Simplify GitHub Action parameters, relying on pyproject.toml config
How it works now:
- Push commits to main with conventional commit format (feat:, fix:, etc.)
- semantic-release detects version bump requirement
- Automatically updates version in pyproject.toml:project.version
- Builds package with "uv build"
- Creates git tag and commits changes
- Pushes to GitHub
- Creates GitHub Release
- Publishes to PyPI (via upload_to_pypi = true)
Next release will automatically update the version. No manual intervention needed!
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com> (d8cafd0)
Test
- test: Final test of semantic-release workflow
This commit tests the corrected workflow:
- semantic-release disables building (empty build_command)
- semantic-release updates version in pyproject.toml
- semantic-release creates GitHub release
- publish workflow will build and publish on release
Expected outcome:
- Version bumped in pyproject.toml
- CHANGELOG updated
- GitHub release created
- Publish workflow triggered automatically
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com> (03974e9)