@@ -47,16 +47,15 @@ jobs:
47
47
with :
48
48
directory : " build/reports/jacoco"
49
49
50
- release :
50
+ release-and-delivery :
51
51
concurrency :
52
52
# Allow only one release at a time.
53
- group : release-${{ github.event.number || github.ref }}
53
+ group : release-and-delivery- ${{ github.event.number || github.ref }}
54
54
needs :
55
55
- build
56
56
runs-on : ubuntu-latest
57
57
outputs :
58
58
release-status : ${{ env.release_status }}
59
- release-version : ${{ env.release_version }}
60
59
# Release only where secrets are available.
61
60
if : >-
62
61
!github.event.repository.fork
@@ -65,57 +64,28 @@ jobs:
65
64
|| github.event.pull_request.head.repo.full_name == github.repository
66
65
)
67
66
steps :
68
- - name : Checkout the repository
69
- uses : actions/checkout@v3
70
- with :
71
- token : ${{ secrets.DEPLOYMENT_TOKEN }}
72
- submodules : recursive
73
- fetch-depth : 0
74
67
- name : Setup Node.js
75
68
uses : actions/setup-node@v3
76
69
with :
77
70
node-version : " lts/*"
78
- - name : Release
79
- env :
80
- GITHUB_TOKEN : ${{ secrets.DEPLOYMENT_TOKEN }}
81
- run : |
82
- npm install
83
- npx semantic-release
84
-
85
- docker-image-delivery :
86
- needs :
87
- - release
88
- runs-on : ubuntu-latest
89
- if : needs.release.outputs.release-status == 'released'
90
- env :
91
- REGISTRY : ghcr.io
92
- IMAGE_NAME : ${{ github.repository }}
93
- steps :
94
- - name : Checkout the repository
95
- uses : actions/checkout@v3
96
- with :
97
- submodules : recursive
98
- fetch-depth : 0
99
- - name : Login to GitHub Container registry
100
-
71
+ - name : Release and container delivery
72
+ uses :
SmartOperatingBlock/[email protected]
101
73
with :
102
- registry : ${{ env.REGISTRY }}
103
- username : ${{ github.actor }}
104
- password : ${{ secrets.GITHUB_TOKEN }}
105
- - id : full-image-name
106
- run : echo "image-name=${{env.REGISTRY}}/${{env.IMAGE_NAME}}" | tr '[:upper:]' '[:lower:]' >> $GITHUB_OUTPUT
107
- - name : Build and push the image to GitHub Container registry
108
-
109
- with :
110
- context : .
111
- push : true
112
- tags : ${{ steps.full-image-name.outputs.image-name }}:latest, ${{ steps.full-image-name.outputs.image-name }}:${{ needs.release.outputs.release-version }}
74
+ should-release : true
75
+ release-command : |
76
+ npm install
77
+ npx semantic-release
78
+ should-build-and-deliver-container : true
79
+ container-registry-name : ' ghcr.io'
80
+ container-registry-username : ${{ github.actor }}
81
+ container-registry-password : ${{ secrets.GITHUB_TOKEN }}
82
+ github-token : ${{ secrets.DEPLOYMENT_TOKEN }}
113
83
114
84
documentation-deploy :
115
85
needs :
116
- - release
86
+ - release-and-delivery
117
87
runs-on : ubuntu-latest
118
- if : needs.release.outputs.release-status == 'released'
88
+ if : needs.release-and-delivery .outputs.release-status == 'released'
119
89
steps :
120
90
- name : Checkout the repository
121
91
uses : actions/checkout@v3
@@ -135,11 +105,10 @@ jobs:
135
105
github-token : ${{ secrets.GITHUB_TOKEN }}
136
106
137
107
success :
138
- runs-on : ubuntu-22.04
108
+ runs-on : ubuntu-latest
139
109
needs :
140
110
- build
141
- - release
142
- - docker-image-delivery
111
+ - release-and-delivery
143
112
- documentation-deploy
144
113
if : >-
145
114
always() && (
0 commit comments