From 3b7f8b1acf8afd76bfc19aaca07ead2f949e9359 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 23 Aug 2026 20:36:41 +0000 Subject: [PATCH 1/2] feat: add release-drafter for automated release management - Add .github/release-drafter.yml with v-prefixed tag template - Add workflow to run on push to main and workflow_dispatch - Configure version-resolver with major/minor/patch labels (default: patch) - Update README with release and version pinning information - First release will be v1.0.0 Co-authored-by: Kenneth Belitzky --- .github/release-drafter.yml | 33 +++++++++++++++++++++++++++ .github/workflows/release-drafter.yml | 18 +++++++++++++++ README.md | 6 +++++ 3 files changed, 57 insertions(+) create mode 100644 .github/release-drafter.yml create mode 100644 .github/workflows/release-drafter.yml diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..9cf770d --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,33 @@ +name-template: 'v$RESOLVED_VERSION' +tag-template: 'v$RESOLVED_VERSION' +categories: + - title: '🚀 Features' + labels: + - 'feature' + - 'enhancement' + - title: '🐛 Bug Fixes' + labels: + - 'fix' + - 'bugfix' + - 'bug' + - title: '🧰 Maintenance' + labels: + - 'chore' + - 'dependencies' +version-resolver: + major: + labels: + - 'major' + minor: + labels: + - 'minor' + patch: + labels: + - 'patch' + default: patch +change-template: '- $TITLE @$AUTHOR (#$NUMBER)' +change-title-escapes: '\<*_&' +template: | + ## Changes + + $CHANGES diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 0000000..71bbed1 --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,18 @@ +name: Release Drafter + +on: + push: + branches: + - main + workflow_dispatch: + +permissions: + contents: write + +jobs: + update_release_draft: + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v7 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index 0ed6182..02a1898 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,11 @@ jobs: | `diff_file` | Path to the diff output file (if generated) | | `exit_code` | Exit code from the StructKit command | +## Releases + +This repository uses automated release drafting. The first release will be tagged as `v1.0.0`. Users should pin to `@v1` for automatic minor and patch updates, or `@v1.0.0` for a specific version. + + ## Advanced Examples ### Use Specific StructKit Version @@ -329,3 +334,4 @@ MIT License - see [LICENSE](LICENSE) file for details. For issues and questions: - [Open an issue](https://github.com/httpdss/structkit-action/issues) - [StructKit Documentation](https://github.com/httpdss/structkit) + From fa336015e7e2a932907de8b4e8fcf631e7433a8e Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 23 Aug 2026 20:40:54 +0000 Subject: [PATCH 2/2] feat: add major version tagging workflow - Add z-major-tagging.yml to automatically move major tags (v1) - When v1.2.3 is published, v1 tag is created/moved to point to it - Uses phwt/major-tagging-action@v1 - Updated README with detailed release management documentation Co-authored-by: Kenneth Belitzky --- .github/workflows/z-major-tagging.yml | 17 +++++++++++++++++ README.md | 11 ++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/z-major-tagging.yml diff --git a/.github/workflows/z-major-tagging.yml b/.github/workflows/z-major-tagging.yml new file mode 100644 index 0000000..b3e8723 --- /dev/null +++ b/.github/workflows/z-major-tagging.yml @@ -0,0 +1,17 @@ +name: major-tagging + +on: + push: + tags: + - v** + +permissions: + contents: write + +jobs: + tag: + name: Move major tag + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + - uses: phwt/major-tagging-action@v1 diff --git a/README.md b/README.md index 02a1898..63b4c60 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,16 @@ jobs: ## Releases -This repository uses automated release drafting. The first release will be tagged as `v1.0.0`. Users should pin to `@v1` for automatic minor and patch updates, or `@v1.0.0` for a specific version. +This repository uses automated release management with semantic versioning: + +- **Release Drafting**: Releases are automatically drafted when PRs are merged to main +- **First Release**: Will be tagged as `v1.0.0` +- **Major Version Tags**: When a release like `v1.2.3` is published, the major tag `v1` is automatically created/moved to point to it +- **Pinning Recommendations**: + - Use `@v1` to automatically get minor and patch updates (recommended for most users) + - Use `@v1.0.0` to pin to a specific version + +The major version tag (`v1`) is maintained automatically, so users can always reference the latest stable v1.x.x release using `@v1`. ## Advanced Examples