@@ -136,102 +136,24 @@ jobs:
136136 run : cat .github/docker-images/entrypoint.sh | sed s/version=LATEST/version=$IMAGE_TAG/ > .github/docker-images/${{ matrix.variant }}/entrypoint.sh
137137
138138 - name : Build ${{ matrix.variant }} image
139- run : .github/workflows/docker_buildx.sh \
140- docker.pkg.github.com \
141- awslabs \
142- ${{ secrets.DOCKER_TOKEN }} \
143- awslabs/aws-crt-builder/aws-crt-${{ matrix.variant }} \
144- ${{ env.IMAGE_TAG }} \
145- .github/docker-images/${{ matrix.variant }} \
146- --compress=true
147-
148- - name : Export ${{ matrix.variant }} image
149- run : |
150- docker save docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-${{ matrix.variant }}:${{ env.IMAGE_TAG }} | gzip > /tmp/aws-crt-${{ matrix.variant }}-${{ env.IMAGE_TAG }}.tar.gz
151- aws s3 cp --no-progress /tmp/aws-crt-${{ matrix.variant }}-${{ env.IMAGE_TAG }}.tar.gz s3://${{env.AWS_S3_BUCKET}}/_docker/aws-crt-${{ matrix.variant }}-${{ env.IMAGE_TAG }}.tar.gz
152-
153- linux-arm64 :
154- name : ${{ matrix.variant }}-${{ matrix.arch }}
155- runs-on : ' ubuntu-latest'
156- needs : [tag, package]
157- strategy :
158- matrix :
159- variant : [al2]
160- arch : [arm64]
161- steps :
162- - name : Checkout Sources
163- uses : actions/checkout@v1
164-
165- - name : Fetch release_tag
166- uses : actions/download-artifact@v1
167- with :
168- name : release_tag
169- path : release_tag
170-
171- - name : Export IMAGE_TAG
172- run : echo "::set-env name=IMAGE_TAG::$(cat release_tag/tag)"
173-
174- - name : Install entrypoint
175- run : cat .github/docker-images/entrypoint.sh | sed s/version=LATEST/version=$IMAGE_TAG/ > .github/docker-images/${{ matrix.variant }}-${{ matrix.arch }}/entrypoint.sh
176-
177- - name : " Build ${{ matrix.variant }}-${{ matrix.arch }} image"
178- run : .github/workflows/docker_buildx.sh \
179- docker.pkg.github.com \
180- awslabs \
181- ${{ secrets.DOCKER_TOKEN }} \
182- awslabs/aws-crt-builder/aws-crt-${{ matrix.variant }}-${{ matrix.arch }} \
183- ${{ env.IMAGE_TAG }} \
184- .github/docker-images/${{ matrix.variant }}-${{ matrix.arch }} \
185- --compress=true --platform=linux/${{ matrix.arch }}
186-
187- - name : Export ${{ matrix.variant }} ${{ matrix.arch }} image
188- run : |
189- docker save docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-${{ matrix.variant }}-${{ matrix.arch }}:${{ env.IMAGE_TAG }} | gzip > /tmp/aws-crt-${{ matrix.variant }}-${{ matrix.arch }}-${{ env.IMAGE_TAG }}.tar.gz
190- aws s3 cp --no-progress /tmp/aws-crt-${{ matrix.variant }}-${{ matrix.arch }}-${{ env.IMAGE_TAG }}.tar.gz s3://${{env.AWS_S3_BUCKET}}/_docker/aws-crt-${{ matrix.variant }}-${{ matrix.arch }}-${{ env.IMAGE_TAG }}.tar.gz
191-
192- linux-arm32 :
193- name : ${{ matrix.variant }}-arm${{ matrix.arch }}
194- runs-on : ' ubuntu-latest'
195- needs : [tag, package]
196- strategy :
197- fail-fast : false
198- matrix :
199- variant : [alpine, raspbian]
200- arch : [v6, v7]
201- steps :
202- - name : Checkout Sources
203- uses : actions/checkout@v1
204-
205- - name : Fetch release_tag
206- uses : actions/download-artifact@v1
139+ uses : whoan/docker-build-with-cache-action@v4
207140 with :
208- name : release_tag
209- path : release_tag
210-
211- - name : Export IMAGE_TAG
212- run : echo "::set-env name=IMAGE_TAG::$(cat release_tag/tag)"
213-
214- - name : Install entrypoint
215- run : cat -v .github/docker-images/entrypoint.sh | sed s/version=LATEST/version=$IMAGE_TAG/ > .github/docker-images/${{ matrix.variant }}-arm${{ matrix.arch }}/entrypoint.sh
216-
217- - name : " Build ${{ matrix.variant }}-arm${{ matrix.arch }} image"
218- run : .github/workflows/docker_buildx.sh \
219- docker.pkg.github.com \
220- awslabs \
221- ${{ secrets.DOCKER_TOKEN }} \
222- awslabs/aws-crt-builder/aws-crt-${{ matrix.variant }}-arm${{ matrix.arch }} \
223- ${{ env.IMAGE_TAG }} \
224- .github/docker-images/${{ matrix.variant }}-arm${{ matrix.arch }} \
225- --compress=true --platform=linux/arm/${{ matrix.arch }}
226-
227- - name : Export ${{ matrix.variant }} arm${{ matrix.arch }} image
141+ registry : docker.pkg.github.com
142+ username : awslabs
143+ password : ${{ secrets.DOCKER_TOKEN }}
144+ image_name : awslabs/aws-crt-builder/aws-crt-${{ matrix.variant }}
145+ image_tag : ${{ env.IMAGE_TAG }}
146+ context : .github/docker-images/${{ matrix.variant }}
147+ build_extra_args : --compress=true
148+
149+ - name : Export ${{ matrix.variant }} image to S3
228150 run : |
229- docker save docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-${{ matrix.variant }}-arm${{ matrix.arch }} :${{ env.IMAGE_TAG }} | gzip > /tmp/aws-crt-${{ matrix.variant }}-arm${{ matrix.arch }}-${{ env.IMAGE_TAG }}.tar.gz
230- aws s3 cp --no-progress /tmp/aws-crt-${{ matrix.variant }}-arm ${{ matrix.arch }}-${{ env.IMAGE_TAG }}.tar.gz s3://${{env.AWS_S3_BUCKET}}/_docker/aws-crt- ${{ matrix.variant }}-arm ${{ matrix.arch }}-${{ env.IMAGE_TAG }}.tar.gz
151+ docker save docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-${{ matrix.variant }}:${{ env.IMAGE_TAG }} > /tmp/aws-crt-${{ matrix.variant }}-${{ env.IMAGE_TAG }}.tar.gz
152+ aws s3 cp --no-progress /tmp/aws-crt-${{ matrix.variant }}-${{ env.IMAGE_TAG }}.tar.gz s3://${{env.AWS_S3_BUCKET}}/${{ env.IMAGE_TAG }}/aws-crt- ${{ matrix.variant }}.tar.gz
231153
232- # ##############################################################################
233- # DOWNSTREAM TESTS
234- # ##############################################################################
154+ # ##############################################################################
155+ # DOWNSTREAM TESTS
156+ # ##############################################################################
235157 aws-c-common-linux-x64 :
236158 name : Linux x64 aws-c-common test build
237159 runs-on : ' ubuntu-latest'
@@ -253,78 +175,6 @@ jobs:
253175 docker pull docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-ubuntu-16-x64:${{ steps.release.outputs.release_tag }}
254176 docker run --env GITHUB_REF docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-ubuntu-16-x64:${{ steps.release.outputs.release_tag }} build -p aws-c-common downstream --compiler=clang-9
255177
256- aws-c-common-raspbian-armv6 :
257- name : Raspbian armv6 aws-c-common test build
258- runs-on : ' ubuntu-latest'
259- if : github.event_name != 'release'
260- needs : linux-arm32
261-
262- steps :
263- - name : Checkout Source
264- uses : actions/checkout@v1
265-
266- - name : Get Release Tag
267- uses : ./.github/actions/release-tag
268- id : release
269-
270- - name : Bootstrap docker-buildx
271- run : .github/workflows/install_buildx.sh
272-
273- # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
274- - name : Build aws-c-common + consumers
275- run : |
276- echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u awslabs --password-stdin
277- docker pull docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-raspbian-armv6:${{ steps.release.outputs.release_tag }}
278- docker run --env GITHUB_REF docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-raspbian-armv6:${{ steps.release.outputs.release_tag }} build -p aws-c-common downstream
279-
280- aws-c-common-alpine-armv7 :
281- name : Alpine ARMv7 aws-c-common test build
282- runs-on : ' ubuntu-latest'
283- if : github.event_name != 'release'
284- needs : linux-arm32
285-
286- steps :
287- - name : Checkout Source
288- uses : actions/checkout@v1
289-
290- - name : Get Release Tag
291- uses : ./.github/actions/release-tag
292- id : release
293-
294- - name : Bootstrap docker-buildx
295- run : .github/workflows/install_buildx.sh
296-
297- # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
298- - name : Build aws-c-common + consumers
299- run : |
300- echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u awslabs --password-stdin
301- docker pull docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-alpine-armv7:${{ steps.release.outputs.release_tag }}
302- docker run --env GITHUB_REF docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-alpine-armv7:${{ steps.release.outputs.release_tag }} build -p aws-c-common downstream
303-
304- aws-c-common-al2-armv8 :
305- name : al2 armv8 aws-c-common test build
306- runs-on : ' ubuntu-latest'
307- if : github.event_name != 'release'
308- needs : linux-arm64
309-
310- steps :
311- - name : Checkout Source
312- uses : actions/checkout@v1
313-
314- - name : Get Release Tag
315- uses : ./.github/actions/release-tag
316- id : release
317-
318- - name : Bootstrap docker-buildx
319- run : .github/workflows/install_buildx.sh
320-
321- # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages
322- - name : Build aws-c-common + consumers
323- run : |
324- echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u awslabs --password-stdin
325- docker pull docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-al2-arm64:${{ steps.release.outputs.release_tag }}
326- docker run --env GITHUB_REF docker.pkg.github.com/awslabs/aws-crt-builder/aws-crt-al2-arm64:${{ steps.release.outputs.release_tag }} build -p aws-c-common downstream
327-
328178 aws-c-common-osx :
329179 name : OSX aws-c-common test build
330180 runs-on : ' macos-latest'
@@ -335,7 +185,7 @@ jobs:
335185 - name : Checkout Source
336186 uses : actions/checkout@v1
337187
338- - name : Install entrypoint
188+ - name : Install builder
339189 uses : actions/download-artifact@v1
340190 with :
341191 name : builder
@@ -347,22 +197,22 @@ jobs:
347197 run : builder build default-downstream -p aws-c-common --dump-config
348198
349199 aws-c-common-windows-vs2019 :
350- name : Windows (VS2019) aws-c-common test build
351- runs-on : ' windows-latest'
352- if : github.event_name != 'release'
353- needs : package
200+ name : Windows (VS2019) aws-c-common test build
201+ runs-on : ' windows-latest'
202+ if : github.event_name != 'release'
203+ needs : package
354204
355- steps :
356- - name : Checkout Source
357- uses : actions/checkout@v1
205+ steps :
206+ - name : Checkout Source
207+ uses : actions/checkout@v1
358208
359- - name : Install entrypoint
360- uses : actions/download-artifact@v1
361- with :
362- name : builder
209+ - name : Install builder
210+ uses : actions/download-artifact@v1
211+ with :
212+ name : builder
363213
364- - name : Build aws-c-common + consumers
365- run : python builder\builder build default-downstream -p aws-c-common --dump-config
214+ - name : Build aws-c-common + consumers
215+ run : python builder\builder build default-downstream -p aws-c-common --dump-config
366216
367217 ci-passed :
368218 name : Downstream Tests Passed
@@ -371,8 +221,5 @@ jobs:
371221 - aws-c-common-linux-x64
372222 - aws-c-common-osx
373223 - aws-c-common-windows-vs2019
374- - aws-c-common-alpine-armv7
375- - aws-c-common-raspbian-armv6
376- - aws-c-common-al2-armv8
377224 steps :
378225 - run : echo "All downstream tests passed"
0 commit comments