From c064f4a8df42f604c2b5a19ba93ebbe6468befbd Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 10 Jun 2026 11:12:39 +0000 Subject: [PATCH 1/3] chore: bump version to v1.2.2 This patch version bump includes: - 5 commits since last release - Automated changelog generation - Version update in pyproject.toml Release will be triggered automatically when this PR is merged. --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 62f281c..4090446 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [1.2.2] - 2026-06-10 +## [] - $(date +%Y-%m-%d) + + + + ### Fixed - Resolve MCP protocol and file validation issues (#44) From b684c58bd510a4953b662629cdc31987d5e4f85d Mon Sep 17 00:00:00 2001 From: trsdn Date: Wed, 19 Aug 2026 17:13:57 +0200 Subject: [PATCH 2/3] fix(ci): harden version bump generation Restore the v1.2.2 changelog heading and pass generated changelog data through environment bindings to prevent shell interpolation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f2308b45-f29c-417e-afb0-79cd3b2d3d33 --- .github/workflows/version-bump.yml | 96 +++++++++++++++--------------- CHANGELOG.md | 6 +- 2 files changed, 50 insertions(+), 52 deletions(-) diff --git a/.github/workflows/version-bump.yml b/.github/workflows/version-bump.yml index 4234199..151f56c 100644 --- a/.github/workflows/version-bump.yml +++ b/.github/workflows/version-bump.yml @@ -150,17 +150,11 @@ jobs: " - name: Update CHANGELOG.md + env: + NEW_VERSION: ${{ needs.analyze-changes.outputs.new-version }} + CHANGELOG: ${{ needs.analyze-changes.outputs.changelog }} run: | - NEW_VERSION="${{ needs.analyze-changes.outputs.new-version }}" - CHANGELOG="${{ needs.analyze-changes.outputs.changelog }}" - - # Create new changelog entry - cat > new_entry.md << 'EOF' - ## [$NEW_VERSION] - $(date +%Y-%m-%d) - - $CHANGELOG - - EOF + RELEASE_DATE="$(date -u +%Y-%m-%d)" # Backup current changelog cp CHANGELOG.md CHANGELOG.md.bak @@ -174,15 +168,17 @@ jobs: echo "The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)," echo "and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)." echo "" - # Add new entry - envsubst < new_entry.md + # Step-level env bindings keep commit-derived changelog text out of shell source. + printf '## [%s] - %s\n' "$NEW_VERSION" "$RELEASE_DATE" + echo "" + printf '%s\n' "$CHANGELOG" echo "" # Add existing content (skip header) tail -n +9 CHANGELOG.md.bak } > CHANGELOG.md # Clean up - rm new_entry.md CHANGELOG.md.bak + rm CHANGELOG.md.bak - name: Commit changes run: | @@ -202,44 +198,50 @@ jobs: Release will be triggered automatically when this PR is merged." - name: Push branch and create PR + env: + NEW_VERSION: ${{ needs.analyze-changes.outputs.new-version }} + BUMP_TYPE: ${{ needs.analyze-changes.outputs.bump-type }} + COMMITS_COUNT: ${{ needs.analyze-changes.outputs.commits-count }} + CHANGELOG: ${{ needs.analyze-changes.outputs.changelog }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - NEW_VERSION="${{ needs.analyze-changes.outputs.new-version }}" - BUMP_TYPE="${{ needs.analyze-changes.outputs.bump-type }}" BRANCH_NAME="${{ env.branch-name }}" # Force push branch (overwrite any existing branch) git push --force origin "$BRANCH_NAME" - # Create PR description - cat > pr_body.md << EOF - ## 🚀 Automated Version Bump: v$NEW_VERSION - - This PR automatically bumps the version based on conventional commits since the last release. - - ### 📊 Release Summary - - **Version Type**: $BUMP_TYPE - - **New Version**: v$NEW_VERSION - - **Commits Included**: ${{ needs.analyze-changes.outputs.commits-count }} - - **Generated**: $(date -u '+%Y-%m-%d %H:%M:%S UTC') - - ### 📝 Changelog Preview - ${{ needs.analyze-changes.outputs.changelog }} + GENERATED_AT="$(date -u '+%Y-%m-%d %H:%M:%S UTC')" - ### 🎯 What Happens Next - 1. **Review**: Maintainers review this automated version bump - 2. **Merge**: When merged, a git tag \`v$NEW_VERSION\` will be created - 3. **Release**: The tag will trigger the automated release workflow - 4. **Publish**: Package will be published to PyPI automatically - - ### ✅ Pre-Release Checklist - - [ ] Version number looks correct - - [ ] Changelog entries are accurate - - [ ] No breaking changes in patch/minor releases - - [ ] All CI checks pass - - --- - *This PR was created automatically by the version bump workflow. The release will be fully automated upon merge.* - EOF + # Emit dynamic values as data rather than interpolating them into shell source. + { + printf '## 🚀 Automated Version Bump: v%s\n' "$NEW_VERSION" + echo "" + echo "This PR automatically bumps the version based on conventional commits since the last release." + echo "" + echo "### 📊 Release Summary" + printf -- '- **Version Type**: %s\n' "$BUMP_TYPE" + printf -- '- **New Version**: v%s\n' "$NEW_VERSION" + printf -- '- **Commits Included**: %s\n' "$COMMITS_COUNT" + printf -- '- **Generated**: %s\n' "$GENERATED_AT" + echo "" + echo "### 📝 Changelog Preview" + printf '%s\n' "$CHANGELOG" + echo "" + echo "### 🎯 What Happens Next" + echo "1. **Review**: Maintainers review this automated version bump" + printf '2. **Merge**: When merged, a git tag `v%s` will be created\n' "$NEW_VERSION" + echo "3. **Release**: The tag will trigger the automated release workflow" + echo "4. **Publish**: Package will be published to PyPI automatically" + echo "" + echo "### ✅ Pre-Release Checklist" + echo "- [ ] Version number looks correct" + echo "- [ ] Changelog entries are accurate" + echo "- [ ] No breaking changes in patch/minor releases" + echo "- [ ] All CI checks pass" + echo "" + echo "---" + echo "*This PR was created automatically by the version bump workflow. The release will be fully automated upon merge.*" + } > pr_body.md # Check if PR already exists EXISTING_PR=$(gh pr list --head "$BRANCH_NAME" --json number --jq '.[0].number' || echo "") @@ -279,8 +281,6 @@ jobs: echo "Settings → Actions → General → Workflow permissions" fi fi - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} auto-tag-on-merge: name: Auto-tag on Merge @@ -294,8 +294,10 @@ jobs: - name: Extract version from commit message id: version + env: + COMMIT_MESSAGE: ${{ github.event.head_commit.message }} run: | - COMMIT_MESSAGE="${{ github.event.head_commit.message }}" + # Keep the commit message out of shell source before extracting the version. VERSION=$(echo "$COMMIT_MESSAGE" | grep -oP 'chore: bump version to v\K[0-9]+\.[0-9]+\.[0-9]+' || echo "") if [ -z "$VERSION" ]; then diff --git a/CHANGELOG.md b/CHANGELOG.md index 4090446..62f281c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,11 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [] - $(date +%Y-%m-%d) - - - - +## [1.2.2] - 2026-06-10 ### Fixed - Resolve MCP protocol and file validation issues (#44) From e631f8ebe728a13ceae45e35f406b8e82e6ceddb Mon Sep 17 00:00:00 2001 From: trsdn Date: Tue, 25 Aug 2026 00:03:25 +0200 Subject: [PATCH 3/3] fix(ci): run required checks on every PR Remove pull request path filters that prevented branch-protection checks from being reported for workflow-only changes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f2308b45-f29c-417e-afb0-79cd3b2d3d33 --- .github/workflows/ci-gates.yml | 5 ----- .github/workflows/fast-tests.yml | 5 ----- 2 files changed, 10 deletions(-) diff --git a/.github/workflows/ci-gates.yml b/.github/workflows/ci-gates.yml index 2d377fd..71abe0d 100644 --- a/.github/workflows/ci-gates.yml +++ b/.github/workflows/ci-gates.yml @@ -3,11 +3,6 @@ name: CI Quality Gates on: pull_request: branches-ignore: [ci-cd-maintenance] - paths: - - '**/*.py' - - 'pyproject.toml' - - 'requirements*.txt' - - '.github/workflows/ci-gates.yml' push: branches: [main] workflow_dispatch: diff --git a/.github/workflows/fast-tests.yml b/.github/workflows/fast-tests.yml index ac6eebc..346eb8f 100644 --- a/.github/workflows/fast-tests.yml +++ b/.github/workflows/fast-tests.yml @@ -3,11 +3,6 @@ name: Fast Tests on: pull_request: branches-ignore: [ci-cd-maintenance] - paths: - - '**/*.py' - - 'pyproject.toml' - - 'requirements*.txt' - - '.github/workflows/fast-tests.yml' push: branches: [main] workflow_dispatch: