From 5750fdd2fa42f4e0c3f35cf5e6c2f4701461d9e2 Mon Sep 17 00:00:00 2001 From: Taj Date: Mon, 25 Aug 2025 17:19:44 +0530 Subject: [PATCH] feat(workflow): simplify version bump process --- .github/workflows/version-bump.yaml | 58 ++++++----------------------- 1 file changed, 12 insertions(+), 46 deletions(-) diff --git a/.github/workflows/version-bump.yaml b/.github/workflows/version-bump.yaml index b8febe4..aa72d26 100644 --- a/.github/workflows/version-bump.yaml +++ b/.github/workflows/version-bump.yaml @@ -1,5 +1,9 @@ name: Version Bump +permissions: + contents: write + pull-requests: write + on: workflow_dispatch: inputs: @@ -13,59 +17,21 @@ on: - minor - major + + jobs: - bump-version: + bump: runs-on: ubuntu-latest steps: - - name: Checkout code + - name: Checkout uses: actions/checkout@v5 with: - token: ${{ secrets.GITHUB_TOKEN }} fetch-depth: 0 - - name: Setup pnpm - uses: pnpm/action-setup@v4 + - name: Universal Version Bump + uses: taj54/universal-version-bump@v0.9.0 with: - version: 10.15.0 - run_install: false - - - name: Set up Node - uses: actions/setup-node@v4 - with: - node-version: 22 - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Generate new version - id: version - run: | - NEW_VERSION=$(pnpm version ${{ inputs.release_type }} --no-git-tag-version | awk '{print $NF}') - echo "new_version=$NEW_VERSION" >> $GITHUB_ENV - - - name: Create new branch - run: | - git checkout -b release/${{ env.new_version }} - - - name: Commit & Push changes - run: | - git config user.name "github-actions[bot]" - git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - git add package.json pnpm-lock.yaml - git commit -m "chore(release): bump version to ${{ env.new_version }}" - git push origin release/${{ env.new_version }} - - - name: Create Pull Request - run: | - gh pr create \ - --base main \ - --head release/${{ env.new_version }} \ - --title "Release: ${{ env.new_version }}" \ - --body "Auto-generated release PR for version ${{ env.new_version }}" + release_type: ${{ inputs.release_type }} + git_tag: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Notify about Major Release (if major) - if: inputs.release_type == 'major' - run: | - echo "🚨 Major version update detected! Please review and merge manually." \ No newline at end of file