Skip to content

Commit ecb4456

Browse files
authored
Merge pull request #421 from Hau-Hau/fix-auto-release
check versions instead changes
2 parents 16ce7a6 + 859ae7d commit ecb4456

1 file changed

Lines changed: 56 additions & 24 deletions

File tree

.github/workflows/auto-release.yml

Lines changed: 56 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
4949
echo "result=true" >> $GITHUB_OUTPUT
5050
51-
has-changes:
51+
check-version:
5252
needs: [validate]
5353
if: needs.validate.outputs.result == 'true'
5454
runs-on: ubuntu-latest
@@ -59,32 +59,64 @@ jobs:
5959

6060
steps:
6161
- uses: actions/checkout@v4
62-
63-
- uses: ./.github/actions/has-changes
64-
id: has-changes-module
6562
with:
66-
project: EncryptedConfigValue.Module
63+
fetch-depth: 0
6764

68-
- uses: ./.github/actions/has-changes
69-
id: has-changes-aspnetcore
70-
with:
71-
project: EncryptedConfigValue.AspNetCore
65+
- name: Check Module Version
66+
id: check-module
67+
shell: pwsh
68+
run: |
69+
$lastVersionTag = (git tag -l "EncryptedConfigValue.Module/*" | Sort-Object { [version]($_ -split '/' | Select-Object -Last 1) } | Select-Object -Last 1) -split '/' | Select-Object -Last 1
70+
$nuspecVersion = (Select-String -Path .\EncryptedConfigValue.Module\EncryptedConfigValue.Module.nuspec -Pattern '<version>(.*?)</version>' | ForEach-Object { $_.Matches.Groups[1].Value })
71+
72+
if ($lastVersionTag) {
73+
$isNewer = [version]$nuspecVersion -gt [version]$lastVersionTag
74+
} else {
75+
$isNewer = $true
76+
}
77+
78+
"result=$($isNewer.ToString().ToLowerInvariant())" >> $env:GITHUB_OUTPUT
7279
73-
- uses: ./.github/actions/has-changes
74-
id: has-changes-cli
75-
with:
76-
project: EncryptedConfigValue.Cli
80+
- name: Check AspNetCore Version
81+
id: check-aspnetcore
82+
shell: pwsh
83+
run: |
84+
$lastVersionTag = (git tag -l "EncryptedConfigValue.AspNetCore/*" | Sort-Object { [version]($_ -split '/' | Select-Object -Last 1) } | Select-Object -Last 1) -split '/' | Select-Object -Last 1
85+
$nuspecVersion = (Select-String -Path .\EncryptedConfigValue.AspNetCore\EncryptedConfigValue.AspNetCore.nuspec -Pattern '<version>(.*?)</version>' | ForEach-Object { $_.Matches.Groups[1].Value })
86+
87+
if ($lastVersionTag) {
88+
$isNewer = [version]$nuspecVersion -gt [version]$lastVersionTag
89+
} else {
90+
$isNewer = $true
91+
}
92+
93+
"result=$($isNewer.ToString().ToLowerInvariant())" >> $env:GITHUB_OUTPUT
94+
95+
- name: Check CLI Version
96+
id: check-cli
97+
shell: pwsh
98+
run: |
99+
$lastVersionTag = (git tag -l "EncryptedConfigValue.Cli/*" | Sort-Object { [version]($_ -split '/' | Select-Object -Last 1) } | Select-Object -Last 1) -split '/' | Select-Object -Last 1
100+
$nuspecVersion = (Select-String -Path .\EncryptedConfigValue.Cli\EncryptedConfigValue.Cli.nuspec -Pattern '<version>(.*?)</version>' | ForEach-Object { $_.Matches.Groups[1].Value })
101+
102+
if ($lastVersionTag) {
103+
$isNewer = [version]$nuspecVersion -gt [version]$lastVersionTag
104+
} else {
105+
$isNewer = $true
106+
}
107+
108+
"result=$($isNewer.ToString().ToLowerInvariant())" >> $env:GITHUB_OUTPUT
77109
78110
- name: Finalize
79111
id: finalize
80112
run: |
81-
echo "module=${{ steps.has-changes-module.outputs.result }}" >> $GITHUB_OUTPUT
82-
echo "aspnetcore=${{ steps.has-changes-aspnetcore.outputs.result }}" >> $GITHUB_OUTPUT
83-
echo "cli=${{ steps.has-changes-cli.outputs.result }}" >> $GITHUB_OUTPUT
113+
echo "module=${{ steps.check-module.outputs.result }}" >> $GITHUB_OUTPUT
114+
echo "aspnetcore=${{ steps.check-aspnetcore.outputs.result }}" >> $GITHUB_OUTPUT
115+
echo "cli=${{ steps.check-cli.outputs.result }}" >> $GITHUB_OUTPUT
84116
85117
test:
86-
needs: [has-changes]
87-
if: needs.has-changes.outputs.module == 'true' || needs.has-changes.outputs.aspnetcore == 'true' || needs.has-changes.outputs.cli == 'true'
118+
needs: [check-version]
119+
if: needs.check-version.outputs.module == 'true' || needs.check-version.outputs.aspnetcore == 'true' || needs.check-version.outputs.cli == 'true'
88120
runs-on: ubuntu-latest
89121
outputs:
90122
result: ${{ steps.test.outputs.result }}
@@ -107,8 +139,8 @@ jobs:
107139
fi
108140
109141
validate-module:
110-
needs: [has-changes, test]
111-
if: needs.has-changes.outputs.module == 'true'
142+
needs: [check-version, test]
143+
if: needs.check-version.outputs.module == 'true'
112144
runs-on: ubuntu-latest
113145
outputs:
114146
result: ${{ steps.validate.outputs.result }}
@@ -138,8 +170,8 @@ jobs:
138170
echo "result=true" >> $GITHUB_OUTPUT
139171
140172
validate-aspnetcore:
141-
needs: [has-changes, test]
142-
if: needs.has-changes.outputs.aspnetcore == 'true'
173+
needs: [check-version, test]
174+
if: needs.check-version.outputs.aspnetcore == 'true'
143175
runs-on: ubuntu-latest
144176
outputs:
145177
result: ${{ steps.validate.outputs.result }}
@@ -169,8 +201,8 @@ jobs:
169201
echo "result=true" >> $GITHUB_OUTPUT
170202
171203
validate-cli:
172-
needs: [has-changes, test]
173-
if: needs.has-changes.outputs.cli == 'true'
204+
needs: [check-version, test]
205+
if: needs.check-version.outputs.cli == 'true'
174206
runs-on: ubuntu-latest
175207
outputs:
176208
result: ${{ steps.validate.outputs.result }}

0 commit comments

Comments
 (0)