name: Version Bump on: push: branches: - '**' jobs: bump: runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Node uses: actions/setup-node@v4 with: node-version: '20' - name: Install deps run: npm ci - name: Determine bump type id: bump run: | MSG=$(git log -1 --pretty=%B) echo "Commit message: $MSG" if echo "$MSG" | grep -qi "bump:major"; then echo "type=major" >> $GITHUB_OUTPUT elif echo "$MSG" | grep -qi "bump:minor"; then echo "type=minor" >> $GITHUB_OUTPUT else echo "type=patch" >> $GITHUB_OUTPUT fi - name: Bump version run: | npm version ${{ steps.bump.outputs.type }} -m "chore: version bump to %s" node scripts/sync-version.js - name: Commit version files run: | git config user.name "github-actions" git config user.email "github-actions@github.com" git add package.json package-lock.json src/lib/version.ts git commit -m "chore: sync version metadata" || echo "No changes to commit" - name: Push changes run: | git push --follow-tags