ci: drive releases with release-please instead of commitizen - #433
Merged
Merged
Conversation
Conventional commits now own the version: merging the "chore: release vX.Y.Z" PR creates the tag and GitHub Release, and the release workflow builds the wheel/sdist, publishes to PyPI and attaches the artifacts. - add release-please-config.json and .release-please-manifest.json - replace the commitizen bump-commit workflow with release-please - mark every version-bearing file with x-release-please-version so the bump cannot leave a stale copy behind - drop [tool.commitizen] from pyproject.toml - vendor scripts/ci/ (releasable-commit gate, dist/version check, version consistency check) Repo-specific notes: - Package dir is `photoshop`, dist name photoshop-python-api. test/manual_test asserts a Photoshop application version, not the package version - leave it.
loonghao
force-pushed
the
chore/migrate-to-release-please
branch
from
September 25, 2026 14:52
9ad00f2 to
ecadbd1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
Replaces commit-driven version bumps with release-please.
Today a push to the default branch runs commitizen, which bumps the version, commits it back and tags it; a second tag-triggered workflow then publishes. That couples the version to whoever happened to push, and the version files drift apart when a bump is missed.
With release-please the conventional commits already in the history decide the version. It opens a
chore: release vX.Y.ZPR containing the bump, the CHANGELOG entry and every marked version file; merging it creates the tag and GitHub Release, and the release workflow publishes from there.Changes
release-please-config.json+.release-please-manifest.json, seeded at 0.24.2.github/workflows/release.yml: release-please, build, publish and asset-attach in one workflow, onmainx-release-please-versionmarker[tool.commitizen]removed frompyproject.tomlscripts/ci/vendored: releasable-commit gate, dist/version check, version consistency checkbumpversion.yml,python-publish.ymlWhy one workflow (where it applies)
GitHub never starts a workflow from a tag, release or commit created with the default
GITHUB_TOKEN. Where publishing moved into the release workflow, it had to live in the same workflow as release-please; the release-please step usesRELEASE_PLEASE_TOKEN(falling back toPERSONAL_ACCESS_TOKEN) so the release PR also carries CI status.Verification
python3 scripts/ci/check_version_consistency.pypasses: manifest 0.24.2 matches every managed fileBefore merging
pypiGitHub environment exists for this repo (or publishing will fail after the tag is cut)RELEASE_PLEASE_TOKENorPERSONAL_ACCESS_TOKENis available to the repoRepo-specific notes
Package dir is
photoshop, dist name photoshop-python-api. test/manual_test asserts a Photoshop application version, not the package version - leave it.