Compare commits

..

1 Commits

Author SHA1 Message Date
Murat Ozcan
62111c7647 chore: configure changelog file path in semantic-release config 2025-08-16 16:12:53 -05:00
3 changed files with 28 additions and 25 deletions

View File

@@ -37,6 +37,16 @@ jobs:
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global url."https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/".insteadOf "https://github.com/"
- name: Switch to stable branch
run: |
git checkout stable
git pull origin stable
- name: Merge main into stable
run: |
git merge origin/main --no-edit
- name: Install dependencies
run: npm ci
@@ -73,8 +83,8 @@ jobs:
;;
esac
# Check if calculated version already exists (either as NPM package or git tag)
while npm view bmad-method@$NEW_VERSION version >/dev/null 2>&1 || git ls-remote --tags origin | grep -q "refs/tags/v$NEW_VERSION"; do
# Check if calculated version already exists on NPM and increment if necessary
while npm view bmad-method@$NEW_VERSION version >/dev/null 2>&1; do
echo "Version $NEW_VERSION already exists, incrementing..."
IFS='.' read -ra NEW_VERSION_PARTS <<< "$NEW_VERSION"
NEW_MAJOR=${NEW_VERSION_PARTS[0]}
@@ -111,36 +121,24 @@ jobs:
- name: Commit stable release
run: |
git add .
git commit -m "release: promote to stable ${{ steps.version.outputs.new_version }}"
git commit -m "feat: promote to stable ${{ steps.version.outputs.new_version }}
- name: Create and push stable tag
run: |
# Create new tag (version check already ensures it doesn't exist)
git tag -a "v${{ steps.version.outputs.new_version }}" -m "Stable release v${{ steps.version.outputs.new_version }}"
# Push the new tag
git push origin "v${{ steps.version.outputs.new_version }}"
BREAKING CHANGE: Promote beta features to stable release
- name: Push changes to main
run: |
git push origin HEAD:main
- Update version from ${{ steps.version.outputs.current_version }} to ${{ steps.version.outputs.new_version }}
- Automated promotion via GitHub Actions"
- name: Publish to NPM with stable tag
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Push stable release
run: |
# Publish with the stable (latest) tag
npm publish --tag latest
# Also tag the previous beta version as stable if it exists
if npm view bmad-method@${{ steps.version.outputs.current_version }} version >/dev/null 2>&1; then
npm dist-tag add bmad-method@${{ steps.version.outputs.new_version }} stable || true
fi
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
git push origin stable
- name: Switch back to main
run: git checkout main
- name: Summary
run: |
echo "🎉 Successfully promoted to stable!"
echo "📦 Version: ${{ steps.version.outputs.new_version }}"
echo "🏷️ Git tag: v${{ steps.version.outputs.new_version }}"
echo "✅ Published to NPM with 'latest' tag"
echo "🚀 The stable release will be automatically published to NPM via semantic-release"
echo "✅ Users running 'npx bmad-method install' will now get version ${{ steps.version.outputs.new_version }}"

View File

@@ -3,6 +3,7 @@ name: Release
push:
branches:
- main
- stable
workflow_dispatch:
inputs:
version_type:

View File

@@ -4,6 +4,10 @@
"name": "main",
"prerelease": "beta",
"channel": "beta"
},
{
"name": "stable",
"channel": "latest"
}
],
"plugins": [