From 1b6f6217f31408d591ab2f17f264a3cf0104bda8 Mon Sep 17 00:00:00 2001 From: Marius Lindvall Date: Sun, 13 Aug 2023 15:21:10 +0200 Subject: [PATCH] Add Docker build pipeline --- .github/workflows/docker-image.yml | 54 ++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/docker-image.yml diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000..1a5288b --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,54 @@ +name: Build Docker image + +on: + workflow_dispatch + push: + branches: + - 'master' + tags: + - 'v*' + pull_request: + branches: + - 'master' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - # Check out repository + name: Checkout + uses: actions/checkout@v3 + - # Set up QEMU for multiarch support + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - # Set up Docker BuildX for Docker image building + name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 + - # Set proper tags + name: Docker metadata + id: docker_meta # you'll use this in the next step + uses: docker/metadata-action@v3 + with: + images: bilde2910/hauk + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern=v{{version}} + type=semver,pattern=v{{major}}.x-stable + - # Log in to Docker Hub + name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - # Build and push + name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + platforms: linux/amd64,linux/arm/v7,linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.docker_meta.outputs.tags }} + labels: ${{ steps.docker_meta.outputs.labels }}