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