@@ -2,55 +2,64 @@ name: Semver, Build, Publish
2
2
3
3
on :
4
4
push :
5
- branches : [ main, alpha, beta ]
5
+ branches : [main, alpha, beta]
6
6
7
7
jobs :
8
8
semver :
9
9
runs-on : ubuntu-latest
10
10
steps :
11
- - name : Checkout
12
- uses : actions/checkout@v3
13
- - name : Semantic Release - prepare
14
- run : |
11
+ - name : Checkout
12
+ uses : actions/checkout@v3
13
+ - name : Semantic Release - prepare
14
+ run : |
15
15
cat <<EOF > package.json
16
16
{
17
17
"name": "semver",
18
18
"private": true
19
19
}
20
20
EOF
21
- - name : Semantic Release
22
- uses : cycjimmy/semantic-release-action@v3
23
- with :
24
- semantic_version : 16
25
- branches : |
26
- [
27
- 'main',
28
- {
29
- name: 'alpha',
30
- prerelease: true
31
- },
32
- {
33
- name: 'beta',
34
- prerelease: true
35
- }
36
- ]
37
- env :
38
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
39
- id : semantic
21
+ - name : Semantic Release
22
+ uses : cycjimmy/semantic-release-action@v3
23
+ with :
24
+ semantic_version : 16
25
+ branches : |
26
+ [
27
+ 'main',
28
+ {
29
+ name: 'alpha',
30
+ prerelease: true
31
+ },
32
+ {
33
+ name: 'beta',
34
+ prerelease: true
35
+ }
36
+ ]
37
+ env :
38
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
39
+ id : semantic
40
40
outputs :
41
41
version : ${{ steps.semantic.outputs.new_release_version }}
42
42
new_release_published : ${{ steps.semantic.outputs.new_release_published }}
43
+ new_release_channel : ${{ steps.semantic.outputs.new_release_channel }}
43
44
44
45
build_and_publish :
45
46
runs-on : ubuntu-latest
46
- needs : [ semver ]
47
+ needs : [semver]
47
48
if : needs.semver.outputs.new_release_published == 'true'
48
49
steps :
49
50
- name : Checkout
50
51
uses : actions/checkout@v3
51
52
- name : Build
52
53
run : docker build . -t ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${{ needs.semver.outputs.version }}
54
+ - name : Tag using channel
55
+ run : |
56
+ CHANNEL=${{ needs.semver.outputs.new_release_channel }}
57
+ docker build . -t ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${CHANNEL:-'latest'}
53
58
- name : Login to Docker Hub
54
59
run : echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
55
60
- name : Push image
56
61
run : docker push ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${{ needs.semver.outputs.version }}
62
+ - name : Push image on channel tag
63
+ run : |
64
+ CHANNEL=${{ needs.semver.outputs.new_release_channel }}
65
+ docker push ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:${CHANNEL:-'latest'}
0 commit comments