Skip to content

fix: bootstrap first release as 0.1.0 and fix release workflow#6

Merged
tuyakhov merged 1 commit into
mainfrom
fix-release-bootstrap
Jun 13, 2026
Merged

fix: bootstrap first release as 0.1.0 and fix release workflow#6
tuyakhov merged 1 commit into
mainfrom
fix-release-bootstrap

Conversation

@tuyakhov

Copy link
Copy Markdown
Contributor

Why

The first release-please run cut 1.0.0 (release-please's default initial version, which ignores the feat:→minor rule for the first release) and the publish job then failed, so nothing reached PyPI. The failure exposed two real workflow bugs.

I deleted the erroneous senderkit-v1.0.0 tag + GitHub Release (never published). This PR resets to 0.1.0 and fixes the bugs.

Fixes

  1. ModuleNotFoundError in the version check — the build job ran import senderkit without installing the package; with the src/ layout it isn't importable from the repo root. Now it installs the freshly built wheel (pip install dist/*.whl) and imports that — verifying the actual artifact about to be published.
  2. Wrong tag formatsimple + package-name made release-please tag senderkit-v1.0.0, which also broke ${TAG#v}. Added "include-component-in-tag": false → tags are vX.Y.Z.
  3. Reset to 0.1.0_version.py0.1.0, manifest→0.0.0, and removed the auto-generated ## 1.0.0 CHANGELOG section.

Bootstrap

The commit carries a Release-As: 0.1.0 footer, which forces release-please's next release PR to 0.1.0 (overriding the 1.0.0 default). It's a one-time, per-commit override — nothing sticky to clean up later.

After merge

  • Merge this with a merge commit (not squash) so the Release-As footer reaches main.
  • release-please opens "chore(main): release 0.1.0". Merging that tags v0.1.0, creates the Release, and publishes senderkit 0.1.0 to PyPI.

Verified locally

  • ruff, ruff format, mypy, pytest (61) pass.
  • python -m buildsenderkit-0.1.0; the new check (pip install dist/*.whl → import) reports 0.1.0 and matches tag v0.1.0.

🤖 Generated with Claude Code

The first release-please run cut 1.0.0 (its default initial version) and
the publish step failed, so nothing reached PyPI. Reset to 0.1.0 and fix
two workflow bugs:

- release-please-config: add `include-component-in-tag: false` so tags are
  `vX.Y.Z` (was `senderkit-vX.Y.Z`, which broke the tag/version check).
- release.yml: install the built wheel before importing to read the
  version (the check imported an uninstalled package -> ModuleNotFoundError
  under the src/ layout).
- Reset _version.py to 0.1.0, manifest to 0.0.0, and drop the auto 1.0.0
  CHANGELOG section.

The Release-As footer below forces the next release to 0.1.0, overriding
release-please's 1.0.0 first-release default. One-time; not sticky.

Release-As: 0.1.0

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@tuyakhov tuyakhov merged commit 46cf045 into main Jun 13, 2026
9 checks passed
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