diff --git a/.github/workflows/build-backend-prd.yml b/.github/workflows/build-backend-prd.yml index 4e27d70f..3c52fc09 100644 --- a/.github/workflows/build-backend-prd.yml +++ b/.github/workflows/build-backend-prd.yml @@ -4,7 +4,7 @@ on: tags: - 'v*' repository_dispatch: - types: [release] + types: [prd] jobs: build-backend-and-push: diff --git a/.github/workflows/build-backend-stg.yml b/.github/workflows/build-backend-stg.yml index 6fbf378f..10ccd283 100644 --- a/.github/workflows/build-backend-stg.yml +++ b/.github/workflows/build-backend-stg.yml @@ -4,7 +4,7 @@ on: tags: - 'v*' repository_dispatch: - types: [release] + types: [stg] jobs: build-backend-and-push: diff --git a/.github/workflows/build-ext-prd.yml b/.github/workflows/build-ext-prd.yml index 21f4b34a..b8ca7984 100644 --- a/.github/workflows/build-ext-prd.yml +++ b/.github/workflows/build-ext-prd.yml @@ -1,14 +1,11 @@ name: build chrome extension for prd on: - workflow_run: - workflows: - - 'Bump Version' - types: - - completed + repository_dispatch: + types: [prd] + jobs: build-chrome-extension: - if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest steps: - name: Checkout code diff --git a/.github/workflows/build-ext-stg.yml b/.github/workflows/build-ext-stg.yml index 3733be41..697ce5fb 100644 --- a/.github/workflows/build-ext-stg.yml +++ b/.github/workflows/build-ext-stg.yml @@ -1,14 +1,11 @@ name: build chrome extension for stg on: - workflow_run: - workflows: - - 'Bump Version' - types: - - completed + repository_dispatch: + types: [stg] + jobs: build-chrome-extension: - if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest steps: - name: Checkout code diff --git a/.github/workflows/bump-version.yml b/.github/workflows/bump-version.yml index 4008aa85..8affc8b9 100644 --- a/.github/workflows/bump-version.yml +++ b/.github/workflows/bump-version.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - develop jobs: bump-version: @@ -24,25 +25,42 @@ jobs: echo "Found tag: $tag" echo "tag=$tag" >> $GITHUB_OUTPUT - - name: Bump patch version + - name: Bump version id: bump run: | tag="${{ steps.get_tag.outputs.tag }}" + branch="${{ github.ref_name }}" # Remove v prefix version="${tag#v}" - # Use awk or bash logic to increment the last digit + # Parse version parts IFS='.' read -r -a parts <<< "$version" - last_index=$((${#parts[@]} - 1)) - parts[$last_index]=$((parts[$last_index] + 1)) + + if [ "$branch" = "develop" ]; then + # Develop branch: bump patch version (last value) + # v2.1.2 --> v2.1.3 + last_index=$((${#parts[@]} - 1)) + parts[$last_index]=$((parts[$last_index] + 1)) + elif [ "$branch" = "main" ]; then + # Main branch: bump minor version and set patch to 0 + # v2.1.2 --> v2.2.0 + if [ ${#parts[@]} -ge 2 ]; then + parts[1]=$((parts[1] + 1)) + # Set patch version to 0 + if [ ${#parts[@]} -ge 3 ]; then + parts[2]=0 + fi + fi + fi # Reassemble new_version="${parts[0]}" - for i in $(seq 1 $last_index); do + for i in $(seq 1 $((${#parts[@]} - 1))); do new_version="${new_version}.${parts[$i]}" done new_tag="v${new_version}" + echo "Branch: $branch" echo "Bumped tag: $new_tag" echo "new_tag=$new_tag" >> $GITHUB_OUTPUT @@ -53,10 +71,20 @@ jobs: git tag "${{ steps.bump.outputs.new_tag }}" git push origin "${{ steps.bump.outputs.new_tag }}" - - name: Repository Dispatch + - name: Repository Dispatch (main -> prd) + if: github.ref_name == 'main' uses: peter-evans/repository-dispatch@v4 with: token: ${{ secrets.GH_PAT }} repository: PaperDebugger/paperdebugger - event-type: release - client-payload: '{"tag": "${{ steps.bump.outputs.new_tag }}"}' + event-type: prd + client-payload: '{"tag": "${{ steps.bump.outputs.new_tag }}", "branch": "${{ github.ref_name }}"}' + + - name: Repository Dispatch (develop -> stg) + if: github.ref_name == 'develop' + uses: peter-evans/repository-dispatch@v4 + with: + token: ${{ secrets.GH_PAT }} + repository: PaperDebugger/paperdebugger + event-type: stg + client-payload: '{"tag": "${{ steps.bump.outputs.new_tag }}", "branch": "${{ github.ref_name }}"}'