Skip to content
This repository has been archived by the owner on Feb 24, 2021. It is now read-only.

Commit

Permalink
tidy up the docker build (#769)
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisns authored Oct 8, 2020
1 parent e4f9803 commit 6207dc4
Showing 1 changed file with 29 additions and 43 deletions.
72 changes: 29 additions & 43 deletions .github/workflows/dockerbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,51 +14,37 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: crazy-max/ghaction-docker-buildx@v3

- name: Prepare
id: prepare
run: |
DOCKER_IMAGE=robertslando/zwave2mqtt
DOCKER_PLATFORMS=linux/arm64,linux/amd64,linux/arm/v6,linux/arm/v7,linux/386
echo ::set-output name=docker_image::${DOCKER_IMAGE}
echo ::set-output name=docker_platforms::${DOCKER_PLATFORMS} \
- name: Just build on PR
if: ${{ github.event_name == 'pull_request' }}
run: |
docker buildx build \
-f docker/Dockerfile \
--platform ${{ steps.prepare.outputs.docker_platforms }} \
-t ${{ steps.prepare.outputs.docker_image }}:dev \
.

- uses: docker/setup-buildx-action@v1
- uses: docker/setup-qemu-action@v1
- name: Login to dockerhub
if: ${{ github.event_name != 'pull_request' }}
run: |
docker login --username $DOCKER_USERNAME --password $DOCKER_PASSWORD
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Dev
if: ${{ github.ref == 'refs/heads/master'}}
run: |
docker buildx build \
-f docker/Dockerfile \
--platform ${{ steps.prepare.outputs.docker_platforms }} \
-t ${{ steps.prepare.outputs.docker_image }}:dev \
--push \
.
- name: Latest & tag
if: ${{ github.event_name == 'release' }}
- name: Prepare
run: |
docker buildx build \
-f docker/Dockerfile \
--platform ${{ steps.prepare.outputs.docker_platforms }} \
-t ${{ steps.prepare.outputs.docker_image }}:$(echo ${GITHUB_REF} | sed "s/refs\/tags\/v//") \
-t ${{ steps.prepare.outputs.docker_image }}:latest \
--push \
.
DOCKER_REPO=robertslando/zwave2mqtt
if [ "$GITHUB_REF" == "refs/heads/master" ]; then
TAGS="${DOCKER_REPO}:dev\n"
fi
if [ "$GITHUB_EVENT_NAME" == "release" ]; then
TAGS="${TAGS}${DOCKER_REPO}:latest\n"
TAGS="${TAGS}${DOCKER_REPO}:$(echo ${GITHUB_REF} | sed "s/refs\/tags\/v//")\n"
fi
TAGS="${TAGS}${DOCKER_REPO}:sha-${GITHUB_SHA}"
echo TAGS="${TAGS}" >> $GITHUB_ENV
echo DOCKER_REPO="${DOCKER_REPO}" >> $GITHUB_ENV
- name: build+push
uses: docker/build-push-action@v2
with:
cache-from: type=registry,ref=${{ env.DOCKER_REPO }}:sha-${{ env.GITHUB_SHA }}
platforms: linux/arm64,linux/amd64,linux/arm/v6,linux/arm/v7,linux/386
file: docker/Dockerfile
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ env.TAGS }}

0 comments on commit 6207dc4

Please sign in to comment.