Skip to content

build(release): Prepare releases with craft's own action - #165

Merged
vaind merged 1 commit into
mainfrom
ivan/craft-action-resolved-version
Oct 26, 2026
Merged

vaind merged 1 commit into
mainfrom
ivan/craft-action-resolved-version

Conversation

@vaind

@vaind vaind commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

Problem

Since #164, releases default to version: auto. Craft resolved it correctly and prepared release/2.0.0. But the pinned getsentry/action-prepare-release v1.6.6 titles the publish issue with the raw input, so it requested getsentry/scm-platform@auto (getsentry/publish#10017). The publish workflow takes the version from that title, so approving the issue would run craft publish auto.

Approach

Switch to the same action, which now lives in the craft repo (getsentry/craft), pinned to 3.0.0. It titles the issue with the version craft resolved (RESOLVED_VERSION in its action.yml). The inputs we pass (version, force, GITHUB_TOKEN) are unchanged. sentry-dotnet already uses this action.

None of 3.0.0's breaking changes apply here:

  • Changelog path without workspaces is rejected: we don't set a changelog path.
  • prepare fails when automatic bumping finds nothing: our preReleaseCommand does the bump, so craft's automatic bumping never runs.
  • nuget workspaces: not a target here.

Checked with actionlint. Before the next release run, retract getsentry/publish#10017 and delete the release/2.0.0 branch.

🤖 Generated with Claude Code

action-prepare-release titles the publish issue with the raw version
input, so an "auto" release was requested as "scm-platform@auto"
(getsentry/publish#10017) even though craft had prepared 2.0.0, and
publish would have run `craft publish auto`. The action now lives in the
craft repo and titles the issue with the version craft resolved. Its
inputs are the same, and 3.0.0's breaking changes don't apply here: we
don't set a changelog path, and preReleaseCommand bumps the version, so
craft's own bumping (which now fails when it finds nothing) never runs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vaind
vaind requested a review from a team as a code owner October 26, 2026 07:25
@vaind
vaind merged commit 8aa2b27 into main Oct 26, 2026
14 checks passed
@vaind
vaind deleted the ivan/craft-action-resolved-version branch October 26, 2026 07:40
vaind added a commit that referenced this pull request Oct 26, 2026
## Problem

The README's release steps date from before #163–#165. They tell you to
pick a bump type, say the version comes from `pyproject.toml`, and name
`getsentry/action-prepare-release`. Following them skips craft's `auto`
versioning, so a breaking PR could ship as a minor release.

## Approach

Update the "Releasing a New Version" steps to match the current
workflow:
- run with the default `auto`, and how PR titles map to
major/minor/patch, with the explicit bump types kept as overrides;
- what the workflow produces: the `release/<version>` branch, the
`CHANGELOG.md` section, and the publish issue to check;
- what happens after **accepted**: CI gate, PyPI/internal index/GitHub
release, release branch merged into `main`;
- PR titles must follow conventional commits, with `!` for breaking
changes.

The manual `getsentry/pypi` step, adding `python_versions = >=3.13` to
its PR, is removed. Since getsentry/pypi#2639, that repository's build
skips Python versions excluded by a package's `Requires-Python`. The
2.0.0 PR (getsentry/pypi#2669) merged without the line, and its build
skipped 3.11 and 3.12 on its own.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant