Skip to content

Add release automation with semantic versioning#43

Merged
DeDuckProject merged 2 commits intomainfrom
claude/setup-action-versioning-Tnd7l
Mar 14, 2026
Merged

Add release automation with semantic versioning#43
DeDuckProject merged 2 commits intomainfrom
claude/setup-action-versioning-Tnd7l

Conversation

@DeDuckProject
Copy link
Copy Markdown
Owner

Summary

This PR introduces a standardized release process for the project using semantic versioning with immutable semver tags and floating major version tags, following GitHub Actions conventions.

Key Changes

  • Release script (scripts/release.sh): Automates the creation and management of release tags

    • Validates semantic version format (X.Y.Z)
    • Creates immutable semver tags (v1.0.0, v1.2.3, etc.)
    • Force-updates floating major tags (v1, v2) to point to the latest release in each major line
    • Ensures clean working tree before tagging
    • Pushes both tag types to origin
  • Release workflow (.github/workflows/release.yml): GitHub Actions automation

    • Triggers on semver tag pushes (v*.*.*)
    • Automatically creates GitHub Releases with auto-generated release notes
    • Requires contents: write permission
  • Documentation (CLAUDE.md): Added comprehensive versioning guidelines

    • Explains semantic vs. floating major tags and their purpose
    • Defines what constitutes a breaking change
    • Documents the release process and script usage
    • Emphasizes using the script instead of manual tagging

Notable Implementation Details

  • The release script strips leading v from input to normalize version format
  • Semver tags are protected from accidental overwrites (script exits if tag exists)
  • Floating major tags use --force to always point to the latest compatible release
  • Both tags are pushed atomically as part of the release process
  • The workflow uses softprops/action-gh-release for reliable release creation

https://claude.ai/code/session_015h9iYcSULNLdxvk8aZ8v3g

claude added 2 commits March 14, 2026 21:35
- Create scripts/release.sh to tag semver + floating major tags
- Add .github/workflows/release.yml to auto-create GitHub Releases
- Document versioning convention and breaking change policy in CLAUDE.md

https://claude.ai/code/session_015h9iYcSULNLdxvk8aZ8v3g
@DeDuckProject DeDuckProject merged commit 0c0d319 into main Mar 14, 2026
3 checks passed
@DeDuckProject DeDuckProject deleted the claude/setup-action-versioning-Tnd7l branch March 14, 2026 21:41
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.

2 participants