diff --git a/.github/workflows/push-creates-tag.yml b/.github/workflows/push-creates-tag.yml index e8a1e7d..5b78cc5 100644 --- a/.github/workflows/push-creates-tag.yml +++ b/.github/workflows/push-creates-tag.yml @@ -59,9 +59,30 @@ jobs: return "" } + # Get Next Version (from push directly to main - increment patch) - name: Get Next Version [${{ steps.getLastVersion.outputs.result }}] - id: getNextVersion - if: ${{ steps.getChanges.outputs.any_modified != 'false' }} + id: getNextVersion1 + if: ${{ steps.getChanges.outputs.any_modified != 'false' && steps.getPR.outputs.pr_found == 'false' }} + uses: actions/github-script@v7.0.1 + with: + result-encoding: string + script: | + var latestTag = "${{ steps.getLastVersion.outputs.result }}" + if (latestTag == "") + return "v0.1.0" + var ver = latestTag.replace("v","").split("-")[0] + console.log('Last Version:', "v" + ver) + var major = ver.split(".")[0] + var minor = ver.split(".")[1] + var patch = parseInt(ver.split(".")[2]) + 1 + var next = "v" + major + "." + minor + "." + patch + console.log('Next Version:', next) + return next + + # Get Next Version (from pull request merge - using labels to select whether to increment major, minor, or patch) + - name: Get Next Version [${{ steps.getLastVersion.outputs.result }}] + id: getNextVersion2 + if: ${{ steps.getChanges.outputs.any_modified != 'false' && steps.getPR.outputs.pr_found == 'true' }} uses: actions/github-script@v7.0.1 with: result-encoding: string @@ -92,14 +113,14 @@ jobs: console.log('Next Version:', next) return next - - name: Tag Version [${{ steps.getNextVersion.outputs.result }}] + - name: Tag Version [${{ steps.getNextVersion1.outputs.result }}${{ steps.getNextVersion2.outputs.result }}] if: ${{ steps.getChanges.outputs.any_modified != 'false' }} run: | - git tag ${{ steps.getNextVersion.outputs.result }} - git push origin tag ${{ steps.getNextVersion.outputs.result }} + git tag ${{ steps.getNextVersion1.outputs.result }}${{ steps.getNextVersion2.outputs.result }} + git push origin tag ${{ steps.getNextVersion1.outputs.result }}${{ steps.getNextVersion2.outputs.result }} - - name: ${{ (steps.getChanges.outputs.any_modified == 'false') && 'Skipped Incrementing Version' || format('Incremented Version [{0}]', steps.getNextVersion.outputs.result) }} + - name: ${{ (steps.getChanges.outputs.any_modified == 'false') && 'Skipped Incrementing Version' || format('Incremented Version [{0}{1}]', steps.getNextVersion1.outputs.result, steps.getNextVersion2.outputs.result) }} if: success() uses: ./.github/actions/tools/annotation/notice with: - message: ${{ (steps.getChanges.outputs.any_modified == 'false') && 'Skipped Incrementing Version' || format('Incremented Version [{0}]', steps.getNextVersion.outputs.result) }} + message: ${{ (steps.getChanges.outputs.any_modified == 'false') && 'Skipped Incrementing Version' || format('Incremented Version [{0}{1}]', steps.getNextVersion1.outputs.result, steps.getNextVersion2.outputs.result) }}