Skip to content

Commit ba0d14d

Browse files
committed
feat: publish latest, alpha and beta tags on docker
Publish latest, alpha and beta tags on docker
1 parent e1f48fb commit ba0d14d

File tree

1 file changed

+34
-25
lines changed

1 file changed

+34
-25
lines changed

.github/workflows/semver_build_publish.yml

Lines changed: 34 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,55 +2,64 @@ name: Semver, Build, Publish
22

33
on:
44
push:
5-
branches: [ main, alpha, beta ]
5+
branches: [main, alpha, beta]
66

77
jobs:
88
semver:
99
runs-on: ubuntu-latest
1010
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: |
1515
cat <<EOF > package.json
1616
{
1717
"name": "semver",
1818
"private": true
1919
}
2020
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
4040
outputs:
4141
version: ${{ steps.semantic.outputs.new_release_version }}
4242
new_release_published: ${{ steps.semantic.outputs.new_release_published }}
43+
new_release_channel: ${{ steps.semantic.outputs.new_release_channel }}
4344

4445
build_and_publish:
4546
runs-on: ubuntu-latest
46-
needs: [ semver ]
47+
needs: [semver]
4748
if: needs.semver.outputs.new_release_published == 'true'
4849
steps:
4950
- name: Checkout
5051
uses: actions/checkout@v3
5152
- name: Build
5253
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'}
5358
- name: Login to Docker Hub
5459
run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
5560
- name: Push image
5661
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

Comments
 (0)