Skip to content

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 16 Oct 12:32
· 29 commits to main since this release

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:

  1. Using unstable @master version of semantic-release action
  2. Incorrect version_variable path (was "pyproject.toml:version", should be "pyproject.toml:project.version")
  3. Using "python -m build" instead of "uv build"
  4. 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:

  1. Push commits to main with conventional commit format (feat:, fix:, etc.)
  2. semantic-release detects version bump requirement
  3. Automatically updates version in pyproject.toml:project.version
  4. Builds package with "uv build"
  5. Creates git tag and commits changes
  6. Pushes to GitHub
  7. Creates GitHub Release
  8. 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)