1
1
name : Docker Images Builder
2
2
3
3
on :
4
+ pull_request :
4
5
push :
5
6
branches :
6
- - " !* "
7
+ - master
7
8
tags :
8
9
- v*
9
10
21
22
QUAY_USER : alvr
22
23
23
24
DEFAULT_JDK_VERSION : 11
24
- LATEST_STABLE_API : 32
25
+ LATEST_STABLE_API : 33
25
26
26
27
jobs :
27
28
build_base_images :
@@ -34,64 +35,72 @@ jobs:
34
35
35
36
steps :
36
37
- name : Checkout
37
- uses : actions/checkout@v2
38
+ uses : actions/checkout@v3
38
39
39
- - name : Tags
40
+ - name : Set environment variables
40
41
shell : sh
41
42
run : |
42
43
set -eu
43
44
44
- TAGS="jdk${{ matrix.jdk }}"
45
- TAGS="$TAGS,latest-jdk${{ matrix.jdk }}"
46
- if [ "${{ matrix.jdk }}" = "${{ env.DEFAULT_JDK_VERSION }}" ]; then
47
- TAGS="$TAGS,latest"
48
- fi
49
- echo "TAGS=$TAGS" >> $GITHUB_ENV
45
+ case ${{ matrix.jdk }} in
46
+ 8)
47
+ CMDLINE_VERSION="8.0"
48
+ SDK_TOOLS_VERSION="9123335" ;;
49
+ *)
50
+ CMDLINE_VERSION="9.0"
51
+ SDK_TOOLS_VERSION="9477386" ;;
52
+ esac
53
+ echo "CMDLINE_VERSION=${CMDLINE_VERSION}" >> $GITHUB_ENV
54
+ echo "SDK_TOOLS_VERSION=${SDK_TOOLS_VERSION}" >> $GITHUB_ENV
50
55
51
56
- name : Docker meta
52
- id : docker_meta
53
- uses : crazy-max/ghaction-docker-meta@v1
57
+ id : meta
58
+ uses : docker/metadata-action@v4
54
59
with :
55
60
images : |
56
61
${{ env.DH_IMAGE_BASE_NAME }}
57
62
ghcr.io/${{ env.GHCR_IMAGE_BASE_NAME }}
58
63
quay.io/${{ env.QUAY_IMAGE_BASE_NAME }}
59
- tag-custom : ${{ env.TAGS }}
60
- tag-custom-only : true
64
+ tags : |
65
+ type=raw,value=jdk${{ matrix.jdk }}
66
+ type=raw,value=latest-jdk${{ matrix.jdk }}
67
+ type=raw,value=latest,enable=${{ matrix.jdk == env.DEFAULT_JDK_VERSION }}
61
68
62
69
- name : Set up Docker Buildx
63
- uses : docker/setup-buildx-action@v1
70
+ uses : docker/setup-buildx-action@v2
64
71
65
72
- name : Login to DockerHub
66
- uses : docker/login-action@v1
73
+ uses : docker/login-action@v2
67
74
with :
68
75
username : ${{ env.DOCKERHUB_USER }}
69
76
password : ${{ secrets.DOCKERHUB_PASS }}
70
77
71
78
- name : Login to GitHub Container Registry
72
- uses : docker/login-action@v1
79
+ uses : docker/login-action@v2
73
80
with :
74
81
registry : ghcr.io
75
82
username : ${{ github.repository_owner }}
76
83
password : ${{ secrets.GHCR_PASS }}
77
84
78
85
- name : Login to Quay
79
- uses : docker/login-action@v1
86
+ uses : docker/login-action@v2
80
87
with :
81
88
registry : quay.io
82
89
username : ${{ env.QUAY_USER }}
83
90
password : ${{ secrets.QUAY_PASS }}
84
91
85
92
- name : Build Android Base JDK${{ matrix.jdk }}
86
- uses : docker/build-push-action@v2
93
+ uses : docker/build-push-action@v4
87
94
with :
88
95
context : ./docker
89
96
file : ./docker/base.Dockerfile
90
- push : true
91
- tags : ${{ steps.docker_meta .outputs.tags }}
92
- labels : ${{ steps.docker_meta .outputs.labels }}
97
+ push : ${{ startsWith(github.ref, 'refs/tags/v') }}
98
+ tags : ${{ steps.meta .outputs.tags }}
99
+ labels : ${{ steps.meta .outputs.labels }}
93
100
build-args : |
94
101
JDK_VERSION=${{ matrix.jdk }}
102
+ CMDLINE_VERSION=${{ env.CMDLINE_VERSION }}
103
+ SDK_TOOLS_VERSION=${{ env.SDK_TOOLS_VERSION }}
95
104
96
105
build_images :
97
106
name : Build Alpine Android Image
@@ -105,30 +114,13 @@ jobs:
105
114
106
115
steps :
107
116
- name : Checkout
108
- uses : actions/checkout@v2
109
-
110
- - name : Get tag version
111
- id : tag_version
112
- uses : battila7/get-version-action@v2
117
+ uses : actions/checkout@v3
113
118
114
119
- name : Set environment variables
115
120
shell : sh
116
121
run : |
117
122
set -eu
118
123
119
- TAGS="android-${{ matrix.android-api }}-jdk${{ matrix.jdk }}"
120
- TAGS="$TAGS,android-${{ matrix.android-api }}-jdk${{ matrix.jdk }}-${{ steps.tag_version.outputs.version }}"
121
- if [ "${{ matrix.jdk }}" = "${{ env.DEFAULT_JDK_VERSION }}" ]; then
122
- TAGS="$TAGS,android-${{ matrix.android-api }}"
123
- fi
124
- if [ "${{ matrix.android-api }}" = "${{ env.LATEST_STABLE_API }}" ]; then
125
- TAGS="$TAGS,latest-jdk${{ matrix.jdk }}"
126
- if [ "${{ matrix.jdk }}" = "${{ env.DEFAULT_JDK_VERSION }}" ]; then
127
- TAGS="$TAGS,latest"
128
- fi
129
- fi
130
- echo "TAGS=$TAGS" >> $GITHUB_ENV
131
-
132
124
case ${{ matrix.android-api }} in
133
125
28) BUILD_TOOLS_VERSION="28.0.3" ;;
134
126
29) BUILD_TOOLS_VERSION="29.0.3" ;;
@@ -140,47 +132,51 @@ jobs:
140
132
echo "BUILD_TOOLS_VERSION=$BUILD_TOOLS_VERSION" >> $GITHUB_ENV
141
133
142
134
- name : Docker meta
143
- id : docker_meta
144
- uses : crazy-max/ghaction-docker-meta@v1
135
+ id : meta
136
+ uses : docker/metadata-action@v4
145
137
with :
146
138
images : |
147
139
${{ env.DH_IMAGE_NAME }}
148
140
ghcr.io/${{ env.GHCR_IMAGE_NAME }}
149
141
quay.io/${{ env.QUAY_IMAGE_NAME }}
150
- tag-custom : ${{ env.TAGS }}
151
- tag-custom-only : true
142
+ tags : |
143
+ type=raw,value=android-${{ matrix.android-api }}-jdk${{ matrix.jdk }}
144
+ type=raw,value=android-${{ matrix.android-api }}-jdk${{ matrix.jdk }}-${{ github.ref_name }},enable=${{ startsWith(github.ref, 'refs/tags/v') }}
145
+ type=raw,value=android-${{ matrix.android-api }},enable=${{ matrix.jdk == env.DEFAULT_JDK_VERSION }}
146
+ type=raw,value=latest-jdk${{ matrix.jdk }},enable=${{ matrix.android-api == env.LATEST_STABLE_API }}
147
+ type=raw,value=latest,enable=${{ matrix.android-api == env.LATEST_STABLE_API && matrix.jdk == env.DEFAULT_JDK_VERSION }}
152
148
153
149
- name : Set up Docker Buildx
154
- uses : docker/setup-buildx-action@v1
150
+ uses : docker/setup-buildx-action@v2
155
151
156
152
- name : Login to DockerHub
157
- uses : docker/login-action@v1
153
+ uses : docker/login-action@v2
158
154
with :
159
155
username : ${{ env.DOCKERHUB_USER }}
160
156
password : ${{ secrets.DOCKERHUB_PASS }}
161
157
162
158
- name : Login to GitHub Container Registry
163
- uses : docker/login-action@v1
159
+ uses : docker/login-action@v2
164
160
with :
165
161
registry : ghcr.io
166
162
username : ${{ github.repository_owner }}
167
163
password : ${{ secrets.GHCR_PASS }}
168
164
169
165
- name : Login to Quay
170
- uses : docker/login-action@v1
166
+ uses : docker/login-action@v2
171
167
with :
172
168
registry : quay.io
173
169
username : ${{ env.QUAY_USER }}
174
170
password : ${{ secrets.QUAY_PASS }}
175
171
176
172
- name : Build Android API ${{ matrix.android-api }} JDK${{ matrix.jdk }}
177
- uses : docker/build-push-action@v2
173
+ uses : docker/build-push-action@v4
178
174
with :
179
175
context : ./docker
180
176
file : ./docker/android.Dockerfile
181
- push : true
182
- tags : ${{ steps.docker_meta .outputs.tags }}
183
- labels : ${{ steps.docker_meta .outputs.labels }}
177
+ push : ${{ startsWith(github.ref, 'refs/tags/v') }}
178
+ tags : ${{ steps.meta .outputs.tags }}
179
+ labels : ${{ steps.meta .outputs.labels }}
184
180
build-args : |
185
181
JDK_VERSION=${{ matrix.jdk }}
186
182
BUILD_TOOLS=${{ env.BUILD_TOOLS_VERSION }}
0 commit comments