1
- name : quay-main
2
-
1
+ name : ci
3
2
4
3
on :
5
4
push :
6
- branches : [ main ]
5
+ branches : [ 'main' ]
6
+ pull_request :
7
+ branches :
8
+ - main
7
9
8
10
jobs :
9
11
build :
10
12
runs-on : ubuntu-latest
11
13
steps :
12
14
- uses : actions/checkout@v2
13
15
14
- - name : Prepare
16
+ - uses : go-semantic-release/action@v1
17
+ id : semrel
18
+ with :
19
+ github-token : ${{ secrets.GITHUB_TOKEN }}
20
+ changelog-file : CHANGELOG.md
21
+
22
+ - name : Prepare Dockerhub
15
23
id : prep
16
24
run : |
17
- DOCKER_IMAGE=quay.io/infralovers/packer-builder
25
+ HUB_IMAGE=infralovers/packer-builder
26
+ QUAY_IMAGE=quay.io/infralovers/packer-builder
27
+
18
28
VERSION=latest
19
- if [[ $GITHUB_REF == refs/tags/* ]]; then
20
- VERSION=${GITHUB_REF#refs/tags/v }
29
+ if [[ '${{ steps.semrel.outputs.version }}' != '' ]]; then
30
+ VERSION=${{ steps.semrel.outputs.version } }
21
31
fi
22
32
if [ "${{ github.event_name }}" = "schedule" ]; then
23
33
VERSION=nightly
24
34
fi
25
- TAGS="${DOCKER_IMAGE }:${VERSION}"
35
+ TAGS="${QUAY_IMAGE}:${VERSION},${HUB_IMAGE }:${VERSION}"
26
36
if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
27
- TAGS="$TAGS,${DOCKER_IMAGE }:latest"
37
+ TAGS="$TAGS,${QUAY_IMAGE }:latest,${HUB_IMAGE}:latest} "
28
38
fi
29
39
echo ::set-output name=tags::${TAGS}
30
40
@@ -41,21 +51,26 @@ jobs:
41
51
${{ runner.os }}-buildx-
42
52
43
53
- name : Login to DockerHub
44
- if : github.event_name != 'pull_request'
54
+ if : github.event_name != 'pull_request' && steps.semrel.outputs.version != ''
55
+ uses : docker/login-action@v1
56
+ with :
57
+ username : ${{ secrets.DOCKERHUB_USER }}
58
+ password : ${{ secrets.DOCKERHUB_TOKEN }}
59
+
60
+ - name : Login to Quay
61
+ if : github.event_name != 'pull_request' && steps.semrel.outputs.version != ''
45
62
uses : docker/login-action@v1
46
63
with :
47
64
registry : quay.io
48
65
username : ${{ secrets.QUAY_USER }}
49
66
password : ${{ secrets.QUAY_TOKEN }}
50
67
51
-
52
68
- name : Build and push
53
69
id : docker_build
54
70
uses : docker/build-push-action@v2
55
71
with :
56
72
builder : ${{ steps.buildx.outputs.name }}
57
73
context : .
58
74
file : ./Dockerfile
59
- push : ${{ github.event_name != 'pull_request' }}
60
- tags : ${{ steps.prep.outputs.tags }}
61
-
75
+ push : ${{ github.event_name != 'pull_request' && steps.semrel.outputs.version != '' }}
76
+ tags : ${{ steps.prep.outputs.tags }}
0 commit comments