Skip to content

ci: remove release-please, keep tag-driven hatch-vcs releases#44

Merged
obeone merged 3 commits into
mainfrom
chore/remove-release-please
Jun 19, 2026
Merged

ci: remove release-please, keep tag-driven hatch-vcs releases#44
obeone merged 3 commits into
mainfrom
chore/remove-release-please

Conversation

@obeone

@obeone obeone commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Summary

Follow-up to #43. The repo had a parallel release-please system (changelog.yml, publish.yml, tag-on-bump.yml + config/manifest) that landed on main concurrently with the hatch-vcs migration. The two are mutually incompatible — release-please bumps [project].version in pyproject.toml, which #43 made dynamic. Per decision, we keep the tag-driven hatch-vcs model and remove release-please.

Removes:

  • .github/workflows/changelog.yml (release-please release-PR)
  • .github/workflows/publish.yml (superseded by release.yml — both published to PyPI env pypi, would double-fire)
  • .github/workflows/tag-on-bump.yml (reads [project].version via tomllib → KeyError now that it's dynamic)
  • release-please-config.json, .release-please-manifest.json

After this, the single release path is: create a GitHub Release vX.Y.Zrelease.yml builds (hatch-vcs derives the version from the tag), publishes to PyPI, attaches artifacts.

Test plan

  • No remaining references to release-please / tag-on-bump / publish.yml outside the deleted files.
  • release.yml is now the only PyPI-publishing workflow.
  • CI green on this PR.

obeone added 3 commits June 19, 2026 18:24
The package version is now derived from git tags by hatch-vcs (release.yml), which is incompatible with release-please's model of bumping [project].version in pyproject.toml. Remove the redundant/conflicting release-please system: changelog.yml, publish.yml (superseded by release.yml), tag-on-bump.yml (would KeyError on the now-dynamic version), and the release-please config + manifest. Releases are cut by creating a GitHub Release vX.Y.Z.
Make the Versioning section dense and accurate after dropping release-please: name release.yml as the single release path, the PyPI Trusted Publishing prerequisite, and the PR-time reminder hook; drop the chatty phrasing.
Whole-file pass: trim the header boilerplate, tighten the operator-forms and connector descriptions, and de-duplicate the bridge-stderr rule (kept once in the load-bearing invariants, cross-referenced from Conventions). Fact-dense sections (Commands, tests notes, architecture map, invariants) left verbatim.
@obeone obeone merged commit 64cd440 into main Jun 19, 2026
3 checks passed
@obeone obeone deleted the chore/remove-release-please branch June 19, 2026 16:46
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