@@ -40,33 +40,41 @@ jobs:
4040 id : check_prs
4141 shell : powershell
4242 run : |
43- # Get the latest release of any type
43+ # Get the latest release tag ( any type)
4444 $LATEST_TAG = git tag -l --sort=-version:refname | Select-Object -First 1
4545 Write-Host "Latest release: $LATEST_TAG"
46-
47- # Get merged PRs since last tag using Git directly
48- $MERGED_PRS = git log --merges --grep="Merge pull request" --oneline "$LATEST_TAG..${{ env.BRANCH }}"
49-
50- # If merged PRs exist, set BUILD_NEEDED and determine release type
51- if ($MERGED_PRS) {
52- Write-Host "Found PRs merged to develop since latest tag:"
53- Write-Host $MERGED_PRS
54- echo "BUILD_NEEDED=true" >> $env:GITHUB_OUTPUT
55-
56- # Determine release type
57- if ($LATEST_TAG -like "*-*") {
58- $RELEASE_TYPE = "prerelease"
59- }
60- else {
61- $RELEASE_TYPE = "preminor"
62- }
63- echo "RELEASE_TYPE=$RELEASE_TYPE" >> $env:GITHUB_OUTPUT
64- Write-Host "Next release: $RELEASE_TYPE"
65- } else {
66- # If no merged PRs, skip building
67- Write-Host "No PRs merged to ${{ env.BRANCH }} since latest tag. Skipping build."
68- echo "BUILD_NEEDED=false" >> $env:GITHUB_OUTPUT
46+
47+ # Get all merged PRs since last tag (only merge commits from PRs)
48+ $MERGED_PRS = git log --merges --grep="Merge pull request" --pretty=format:"%h %s" "$LATEST_TAG..develop"
49+
50+ # Count merges
51+ $MERGE_COUNT = ($MERGED_PRS | Measure-Object).Count
52+
53+ if ($MERGE_COUNT -eq 0) {
54+ Write-Host "No PRs merged to develop since last tag. Skipping build."
55+ $BUILD_NEEDED = $false
56+ }
57+ else {
58+ Write-Host "Merged PRs since last tag (develop):"
59+ Write-Host $MERGED_PRS
60+
61+ if ($MERGE_COUNT -eq 1 -and $MERGED_PRS -match "Merge pull request #\d+ from .*/release/") {
62+ Write-Host "Only change since last tag is a release PR merge. Skipping build."
63+ $BUILD_NEEDED = $false
64+ }
65+ else {
66+ $BUILD_NEEDED = $true
67+
68+ # Set release type for output (adapts to your previous logic if you need it)
69+ if ($LATEST_TAG -like "*-*") {
70+ $RELEASE_TYPE = "prerelease"
71+ } else {
72+ $RELEASE_TYPE = "preminor"
73+ }
74+ echo "RELEASE_TYPE=$RELEASE_TYPE" >> $env:GITHUB_OUTPUT
75+ }
6976 }
77+ echo "BUILD_NEEDED=$BUILD_NEEDED" >> $env:GITHUB_OUTPUT
7078
7179 # Step 3: Generate new semantic version number
7280 - name : Auto Increment Semver Action
0 commit comments