From 601155aa6bf2e297146254e1fae4b21fa02aa803 Mon Sep 17 00:00:00 2001 From: Myron Blair Date: Tue, 9 Jun 2026 18:15:30 +0000 Subject: [PATCH] Add GitHub Actions workflow for automatic version bumping MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Increments PATCH on push to main (1.0.1 → 1.0.2), appends -beta.N on beta branch pushes. Uses [skip ci] to prevent infinite loop. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/version-bump.yml | 50 ++++++++++++++++++++++++++++++ .gitignore | 1 - 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/version-bump.yml diff --git a/.github/workflows/version-bump.yml b/.github/workflows/version-bump.yml new file mode 100644 index 0000000..ad608e7 --- /dev/null +++ b/.github/workflows/version-bump.yml @@ -0,0 +1,50 @@ +name: Auto Version Bump + +on: + push: + branches: + - main + - beta + paths-ignore: + - 'VERSION' + - '.github/**' + +permissions: + contents: write + +jobs: + bump: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Bump version + id: bump + run: | + BRANCH="${{ github.ref_name }}" + CURRENT=$(cat VERSION) + IFS='.' read -r MAJOR MINOR PATCH <<< "${CURRENT%%-*}" + PATCH=${PATCH:-0} + + if [ "$BRANCH" = "main" ]; then + NEW_VERSION="${MAJOR}.${MINOR}.$((PATCH + 1))" + else + # beta branch: append -beta.N + BETA_NUM=$(echo "$CURRENT" | grep -oP '(?<=beta\.)\d+' || echo "0") + NEW_VERSION="${MAJOR}.${MINOR}.${PATCH}-beta.$((BETA_NUM + 1))" + fi + + echo "$NEW_VERSION" > VERSION + echo "version=$NEW_VERSION" >> $GITHUB_OUTPUT + echo "Bumped $CURRENT → $NEW_VERSION" + + - name: Commit version + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add VERSION + git commit -m "chore: bump version to ${{ steps.bump.outputs.version }} [skip ci]" + git push diff --git a/.gitignore b/.gitignore index 13a1a9d..22cc8b5 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,3 @@ VERSION node_modules/ .DS_Store Thumbs.db -.github/workflows/