1818 rpmver :
1919 description : Version to tag RPM with
2020 value : ${{ jobs.prerequisites.outputs.rpmver }}
21+ is-release-branch :
22+ description : A string boolean indicating if the current branch is a release branch
23+ value : ${{ jobs.prerequisites.outputs.is-release-branch }}
2124 secrets :
2225 ARTIFACTORY_READONLY_TOKEN_USER_PUBLIC_REPOS :
2326 required : true
3336 version : ${{ steps.get-version.outputs.version }}
3437 args : ${{ steps.get-pub-args.outputs.args }}
3538 rpmver : ${{ steps.rpmver.outputs.rpmver }}
39+ is-release-branch : ${{ steps.is-release-branch.outputs.match }}
3640 steps :
37- - name : checkout master
41+ - name : checkout branch
3842 uses : actions/checkout@v6
3943 with :
4044 fetch-depth : 0
@@ -54,13 +58,25 @@ jobs:
5458 id : current-branch
5559 run : echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> "$GITHUB_OUTPUT"
5660
61+ - name : Is release branch
62+ id : is-release-branch
63+ run : |
64+ if [[ "${{ steps.current-branch.outputs.branch }}" =~ ^(master|release-[[:digit:]]+\.x)$ ]]; then
65+ echo "::notice::This branch will create a new release"
66+ echo "match=true" >> $GITHUB_OUTPUT
67+
68+ else
69+ echo "::notice::This branch will not create a new release"
70+ echo "match=false" >> $GITHUB_OUTPUT
71+ fi;
72+
5773 - name : Confirm release
5874 id : confirm-release
5975 run : echo "test=$(git tag --list 'v${{ steps.get-version.outputs.version }}' | wc -l | sed s/\ //g)" >> $GITHUB_OUTPUT
6076
6177 - name : Get RPM version
6278 id : rpmver
63- run : echo "rpmver=$(echo "${{ steps.get-version.outputs.version}}" | tr - _)" >> "$GITHUB_OUTPUT"
79+ run : echo "rpmver=$(echo "${{ steps.get-version.outputs.version }}" | tr - _)" >> "$GITHUB_OUTPUT"
6480
6581 - name : Message about build
6682 uses : actions/github-script@v8
7490
7591 build-windows-installer :
7692 runs-on : windows-2022
77- environment : ${{ needs.prerequisites.outputs.branch == 'master ' && 'CD' || 'CI' }}
93+ environment : ${{ needs.prerequisites.outputs.is-release- branch == 'true ' && 'CD' || 'CI' }}
7894 needs : prerequisites
7995
8096 steps :
93109 run : dotnet publish -c Release -r win-x64 ${{ needs.prerequisites.outputs.args }} .\ExtractorLauncher\ -o extractorbuild\
94110
95111 - name : Sign executable
96- if : ${{ needs.prerequisites.outputs.branch == 'master ' }}
112+ if : ${{ needs.prerequisites.outputs.is-release- branch == 'true ' }}
97113 env :
98114 CERTIFICATE_HOST : ${{ secrets.CODE_SIGNING_CERT_HOST }}
99115 CERTIFICATE_HOST_API_KEY : ${{ secrets.CODE_SIGNING_CERT_HOST_API_KEY }}
@@ -114,7 +130,7 @@ jobs:
114130 - run : xcopy OpcUaServiceManager\bin\Release managerbuild /S /Y
115131
116132 - name : Sign manager
117- if : ${{ needs.prerequisites.outputs.branch == 'master ' }}
133+ if : ${{ needs.prerequisites.outputs.is-release- branch == 'true ' }}
118134 env :
119135 CERTIFICATE_HOST : ${{ secrets.CODE_SIGNING_CERT_HOST }}
120136 CERTIFICATE_HOST_API_KEY : ${{ secrets.CODE_SIGNING_CERT_HOST_API_KEY }}
@@ -134,7 +150,7 @@ jobs:
134150 run : .\build.ps1 -v ${{ needs.prerequisites.outputs.version }} -b msbuild -d "OPC-UA Extractor" -c .\setup-config.json
135151
136152 - name : Sign MSI
137- if : ${{ needs.prerequisites.outputs.branch == 'master ' }}
153+ if : ${{ needs.prerequisites.outputs.is-release- branch == 'true ' }}
138154 env :
139155 CERTIFICATE_HOST : ${{ secrets.CODE_SIGNING_CERT_HOST }}
140156 CERTIFICATE_HOST_API_KEY : ${{ secrets.CODE_SIGNING_CERT_HOST_API_KEY }}
@@ -150,7 +166,7 @@ jobs:
150166
151167 - name : Upload artifacts
152168 uses : actions/upload-artifact@v6
153- if : ${{ needs.prerequisites.outputs.should-release == 0 && needs.prerequisites.outputs.branch == 'master ' }}
169+ if : ${{ needs.prerequisites.outputs.should-release == 0 && needs.prerequisites.outputs.is-release- branch == 'true ' }}
154170 with :
155171 name : installer
156172 path : .\OpcUaExtractorSetup-${{ needs.prerequisites.outputs.version }}.msi
@@ -209,7 +225,7 @@ jobs:
209225 - run : ./build-zip-server.sh linux-x64 true ${{ needs.prerequisites.outputs.version }}
210226
211227 - name : Move artifacts to separate folder
212- if : ${{ needs.prerequisites.outputs.should-release == 0 && needs.prerequisites.outputs.branch == 'master ' }}
228+ if : ${{ needs.prerequisites.outputs.should-release == 0 && needs.prerequisites.outputs.is-release- branch == 'true ' }}
213229 run : |
214230 mkdir artifacts
215231 mv ./opcua-extractor.win-x64.${{ needs.prerequisites.outputs.version }}.zip artifacts/
@@ -223,15 +239,15 @@ jobs:
223239
224240 - name : Upload artifacts
225241 uses : actions/upload-artifact@v6
226- if : ${{ needs.prerequisites.outputs.should-release == 0 && needs.prerequisites.outputs.branch == 'master ' }}
242+ if : ${{ needs.prerequisites.outputs.should-release == 0 && needs.prerequisites.outputs.is-release- branch == 'true ' }}
227243 with :
228244 name : linux-artifacts
229245 path : artifacts/
230246 retention-days : 1
231247
232248 build-docker :
233249 runs-on : ubuntu-latest
234- environment : ${{ needs.prerequisites.outputs.branch == 'master ' && 'CD' || 'CI' }}
250+ environment : ${{ needs.prerequisites.outputs.is-release- branch == 'true ' && 'CD' || 'CI' }}
235251 needs : prerequisites
236252
237253 steps :
@@ -271,14 +287,14 @@ jobs:
271287 image : docker.io/${{ steps.image_tags.outputs.bridge_dockerhub }}
272288
273289 - name : " Log in to the Dockerhub"
274- if : ${{ needs.prerequisites.outputs.should-release == 0 && needs.prerequisites.outputs.branch == 'master ' }}
290+ if : ${{ needs.prerequisites.outputs.should-release == 0 && needs.prerequisites.outputs.is-release- branch == 'true ' }}
275291 uses : docker/login-action@v3
276292 with :
277293 username : ${{ secrets.DOCKERHUB_USER }}
278294 password : ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
279295
280296 - name : Push images dockerhub
281- if : ${{ needs.prerequisites.outputs.should-release == 0 && needs.prerequisites.outputs.branch == 'master ' }}
297+ if : ${{ needs.prerequisites.outputs.should-release == 0 && needs.prerequisites.outputs.is-release- branch == 'true ' }}
282298 run : |
283299 echo "Images being pushed as ${{ steps.image_tags.outputs.extractor_dockerhub }}, ${{ steps.image_tags.outputs.bridge_dockerhub }}"
284300 docker push ${{ steps.image_tags.outputs.extractor_dockerhub }}
0 commit comments