1 changed files with 97 additions and 0 deletions
@ -0,0 +1,97 @@ |
|||||
|
name: Docker build on tag |
||||
|
env: |
||||
|
DOCKER_CLI_EXPERIMENTAL: enabled |
||||
|
TAG_FMT: '^refs/tags/(((.?[0-9]+){3,4}))$' |
||||
|
|
||||
|
on: |
||||
|
push: |
||||
|
tags: |
||||
|
- v[0-9]+.[0-9]+.[0-9]+ |
||||
|
- v[0-9]+.[0-9]+.[0-9]+-* |
||||
|
|
||||
|
jobs: |
||||
|
build: |
||||
|
runs-on: ubuntu-20.04 |
||||
|
name: Build and push nodejs and whirlpool images |
||||
|
steps: |
||||
|
- name: Login to Docker for building |
||||
|
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin |
||||
|
|
||||
|
- name: Checkout project |
||||
|
uses: actions/checkout@v2 |
||||
|
|
||||
|
- name: Import environment variables |
||||
|
id: import-env |
||||
|
shell: bash |
||||
|
run: | |
||||
|
source ./docker/my-dojo/.env |
||||
|
echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV |
||||
|
echo "DOJO_NODEJS_VERSION_TAG=${DOJO_NODEJS_VERSION_TAG}" >> $GITHUB_ENV |
||||
|
echo "DOJO_WHIRLPOOL_VERSION_TAG=${DOJO_WHIRLPOOL_VERSION_TAG}" >> $GITHUB_ENV |
||||
|
|
||||
|
- name: Show set environment variables |
||||
|
run: | |
||||
|
printf " TAG: %s\n" "$TAG" |
||||
|
printf " DOJO_NODEJS_VERSION_TAG: %s\n" "$DOJO_NODEJS_VERSION_TAG" |
||||
|
printf " DOJO_WHIRLPOOL_VERSION_TAG: %s\n" "$DOJO_WHIRLPOOL_VERSION_TAG" |
||||
|
|
||||
|
- name: Set up QEMU |
||||
|
id: qemu |
||||
|
uses: docker/setup-qemu-action@v1 |
||||
|
with: |
||||
|
image: tonistiigi/binfmt:latest |
||||
|
platforms: all |
||||
|
|
||||
|
- name: Setup Docker buildx action |
||||
|
uses: docker/setup-buildx-action@v1 |
||||
|
id: buildx |
||||
|
|
||||
|
- name: Available platforms |
||||
|
run: echo ${{ steps.buildx.outputs.platforms }} |
||||
|
|
||||
|
- name: Cache Docker layers |
||||
|
uses: actions/cache@v2 |
||||
|
id: cache |
||||
|
with: |
||||
|
path: /tmp/.buildx-cache |
||||
|
key: ${{ runner.os }}-buildx-${{ github.sha }} |
||||
|
restore-keys: | |
||||
|
${{ runner.os }}-buildx- |
||||
|
|
||||
|
- name: Run Docker buildx against tag for dojo-node |
||||
|
run: | |
||||
|
docker buildx build \ |
||||
|
--cache-from "type=local,src=/tmp/.buildx-cache" \ |
||||
|
--cache-to "type=local,dest=/tmp/.buildx-cache" \ |
||||
|
--platform linux/amd64,linux/arm64 \ |
||||
|
--tag ${{ secrets.DOCKER_USERNAME }}/dojo-nodejs:$DOJO_NODEJS_VERSION_TAG \ |
||||
|
--output "type=registry" \ |
||||
|
--file ./docker/my-dojo/node/Dockerfile ./ |
||||
|
|
||||
|
- name: Run Docker buildx against latest for dojo-node |
||||
|
run: | |
||||
|
docker buildx build \ |
||||
|
--cache-from "type=local,src=/tmp/.buildx-cache" \ |
||||
|
--cache-to "type=local,dest=/tmp/.buildx-cache" \ |
||||
|
--platform linux/amd64,linux/arm64 \ |
||||
|
--tag ${{ secrets.DOCKER_USERNAME }}/dojo-nodejs:latest \ |
||||
|
--output "type=registry" \ |
||||
|
--file ./docker/my-dojo/node/Dockerfile ./ |
||||
|
|
||||
|
- name: Run Docker buildx against tag for dojo-whirlpool |
||||
|
run: | |
||||
|
docker buildx build \ |
||||
|
--cache-from "type=local,src=/tmp/.buildx-cache" \ |
||||
|
--cache-to "type=local,dest=/tmp/.buildx-cache" \ |
||||
|
--platform linux/amd64,linux/arm64 \ |
||||
|
--tag ${{ secrets.DOCKER_USERNAME }}/dojo-whirlpool:$DOJO_WHIRLPOOL_VERSION_TAG \ |
||||
|
--output "type=registry" ./docker/my-dojo/whirlpool |
||||
|
|
||||
|
- name: Run Docker buildx against latest for dojo-whirlpool |
||||
|
run: | |
||||
|
docker buildx build \ |
||||
|
--cache-from "type=local,src=/tmp/.buildx-cache" \ |
||||
|
--cache-to "type=local,dest=/tmp/.buildx-cache" \ |
||||
|
--platform linux/amd64,linux/arm64 \ |
||||
|
--tag ${{ secrets.DOCKER_USERNAME }}/dojo-whirlpool:latest \ |
||||
|
--output "type=registry" ./docker/my-dojo/whirlpool |
Loading…
Reference in new issue