Skip to content

Commit e23c3af

Browse files
authored
Merge pull request #142 from todor-ivanov/feature_CICDStableTags_fix-141
Separate Release Candidate actions from Stable Release actions for dbs2go
2 parents 5acaaba + 701dfa5 commit e23c3af

File tree

1 file changed

+42
-10
lines changed

1 file changed

+42
-10
lines changed

.github/workflows/build.yml

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
name: Build
2-
2+
env:
3+
tag_regex_st: '^v?[0-9]+\.[0-9]+\.[0-9]+$'
4+
tag_regex_rc: '^v?[0-9]+\.[0-9]+\.[0-9]+rc[0-9]+$'
35
on:
46
push:
57
tags:
6-
- '*.*.*'
8+
- 'v?[0-9]+.[0-9]+.[0-9]+'
9+
- 'v?[0-9]+.[0-9]+.[0-9]+rc[0-9]+'
710

811
jobs:
912

@@ -12,6 +15,26 @@ jobs:
1215
runs-on: ubuntu-latest
1316
steps:
1417

18+
- name: Get the Ref
19+
id: get-ref
20+
uses: ankitvgupta/ref-to-tag-action@master
21+
with:
22+
ref: ${{ github.ref }}
23+
head_ref: ${{ github.head_ref }}
24+
25+
- name: Set Release Flags
26+
id: rel-flags
27+
run: |
28+
echo "is-stable=false" >> $GITHUB_OUTPUT
29+
echo "is-rc=false" >> $GITHUB_OUTPUT
30+
if [[ ${{ steps.get-ref.outputs.tag }} =~ ${{ env.tag_regex_st }} ]]; then
31+
echo "is-stable=true" >> $GITHUB_OUTPUT
32+
echo "Build triggered on stable release"
33+
elif [[ ${{ steps.get-ref.outputs.tag }} =~ ${{ env.tag_regex_rc }} ]]; then
34+
echo "is-rc=true" >> $GITHUB_OUTPUT
35+
echo "Build triggered on release candidate"
36+
fi
37+
1538
- name: Set up Go
1639
uses: actions/setup-go@v2
1740
with:
@@ -24,6 +47,8 @@ jobs:
2447
env:
2548
GOPATH: /home/runner/go
2649
run: |
50+
${{ steps.rel-flags.outputs.is-rc }} && echo "Building a release candidate ..." || true
51+
${{ steps.rel-flags.outputs.is-stable }} && echo "Building a stable release ..." || true
2752
sed -i -e "s,_ \"github.com/mattn/go-oci8\",,g" web/server.go
2853
sed -i -e "s,_ \"gopkg.in/rana/ora.v4\",,g" web/server.go
2954
mkdir -p $GOPATH/src/github.com/vkuznet
@@ -32,6 +57,7 @@ jobs:
3257
3358
- name: Create Release
3459
id: create_release
60+
if: fromJSON(steps.rel-flags.outputs.is-stable)
3561
uses: actions/create-release@v1
3662
env:
3763
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -41,24 +67,29 @@ jobs:
4167
draft: false
4268
prerelease: false
4369

70+
- name: Create PreRelease
71+
id: create_prerelease
72+
if: fromJSON(steps.rel-flags.outputs.is-rc)
73+
uses: actions/create-release@v1
74+
env:
75+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
76+
with:
77+
tag_name: ${{ github.ref }}
78+
release_name: Release ${{ github.ref }}
79+
draft: false
80+
prerelease: true
81+
4482
- name: Upload binaries
4583
id: upload-dbs2go
4684
uses: actions/upload-release-asset@v1
4785
env:
4886
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4987
with:
50-
upload_url: ${{ steps.create_release.outputs.upload_url }}
88+
upload_url: ${{ fromJSON(steps.rel-flags.outputs.is-stable) && steps.create_release.outputs.upload_url || steps.create_prerelease.outputs.upload_url }}
5189
asset_path: ./dbs2go
5290
asset_name: dbs2go
5391
asset_content_type: application/octet-stream
5492

55-
- name: Get the Ref
56-
id: get-ref
57-
uses: ankitvgupta/ref-to-tag-action@master
58-
with:
59-
ref: ${{ github.ref }}
60-
head_ref: ${{ github.head_ref }}
61-
6293
- name: Build image
6394
run: |
6495
curl -ksLO https://raw.githubusercontent.com/dmwm/CMSKubernetes/master/docker/dbs2go/Dockerfile
@@ -86,6 +117,7 @@ jobs:
86117
registry: registry.cern.ch
87118
repository: cmsweb/dbs2go
88119
tag_with_ref: true
120+
tags: ${{ fromJSON(steps.rel-flags.outputs.is-stable) && format('{0}, {0}-stable', steps.get-ref.outputs.tag) || steps.get-ref.outputs.tag }}
89121

90122
# - name: Login to docker github registry
91123
# uses: docker/login-action@v1.6.0

0 commit comments

Comments
 (0)