Skip to content

fix: add release floor and single-workflow release strategy#45

Merged
zloeber merged 1 commit into
mainfrom
zloeber/release-workflow-fixes
Jun 22, 2026
Merged

fix: add release floor and single-workflow release strategy#45
zloeber merged 1 commit into
mainfrom
zloeber/release-workflow-fixes

Conversation

@zloeber

@zloeber zloeber commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes the self-triggering release loop and establishes a clean v0.8.0 baseline after the accidental 0.7.x numeric series.

Changes

  • Release Floor (v0.8.0): Workflow now compares computed version against RELEASE_FLOOR: 0.8.0, using the higher value. Any next release bumps to at least v0.8.0 instead of continuing 0.7.x.
  • v-Prefixed Tags: Future tags use canonical vX.Y.Z format (v0.8.0, v0.8.1, etc.).
  • Break Self-Trigger Loop: Added paths-ignore: [CHANGELOG.md] to semantic-release so changelog-only commits don't retrigger the workflow.
  • Single Release Owner: Removed duplicate GitHub Release creation from release.yaml publish job. Only semantic-release.yaml creates releases now.
  • Releasable-Only Filtering: Workflow only sets should_release=true when it detects fix:, feat:, or breaking commits. No auto-bump on empty releases.
  • Documentation: Updated docs/development.md to document the release floor strategy.

Related Issues

  • Fixes runaway 0.7.x release series (0.7.1202–0.7.1281)
  • Enables clean v0.8.0 baseline after 0.7.* cleanup

Testing

Workflow syntax validated. Version floor logic verified:

  • Candidate 0.7.1282 + floor 0.8.0 → result 0.8.0 ✓

Next Steps

  1. Merge this PR to main
  2. Run cleanup script to remove 0.7.* GitHub Releases and remote tags
  3. Make a releasable commit with fix: or feat: prefix + CHANGELOG.md update
  4. Merge to main → workflow creates v0.8.0 tag and publishes to PyPI

- Floor computed versions at 0.8.0 to skip accidental 0.7.x series
- Use v-prefixed tags going forward (canonical format)
- Prevent self-triggering release loop via CHANGELOG.md path-ignore
- Single workflow owns GitHub Release creation (removed duplicate)
- Only release on real releasable commits (fix:/feat:/BREAKING)
- Document release floor intent in development.md

This prepares for clean v0.8.0 baseline after 0.7.* cleanup.
@zloeber
zloeber merged commit e8205ed into main Jun 22, 2026
10 checks passed
@zloeber
zloeber deleted the zloeber/release-workflow-fixes branch June 26, 2026 00:42
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