From fe77fec6b3b30c40f2c9199eef137f6595705a8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Sat, 29 Jan 2022 23:05:24 +0100 Subject: [PATCH] multiarch builds. --- .github/workflows/build.yml | 58 +++++++++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ec7c622..694a70a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,10 +2,13 @@ name: "CI for builds" on: push: - branches: [ master ] + branches: + - master + tags: + - 'v*' env: - DOCKER_IMAGE: m1k1o/neko-rooms:latest + IMAGE_NAME: m1k1o/neko-rooms jobs: build: @@ -15,18 +18,41 @@ jobs: # if: github.repository_owner == 'm1k1o' steps: - - name: Check Out Repo + - + name: Checkout uses: actions/checkout@v2 - - - name: Login to Docker Hub - run: | - docker login --username "${DOCKER_USERNAME}" --password-stdin "${DOCKER_REGISTRY}" <<< "${DOCKER_TOKEN}" - env: - DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }} - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} - DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }} - - - name: Build neko-rooms - run: | - docker build -t ${DOCKER_IMAGE} . - docker push ${DOCKER_IMAGE} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 + - + name: Available platforms + run: echo ${{ steps.buildx.outputs.platforms }} + - + name: Extract metadata (tags, labels) for Docker + uses: docker/metadata-action@v3 + id: meta + with: + images: ${{ env.IMAGE_NAME }} + tags: | + type=raw,value=latest,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }} + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + - + name: Log in to the Container registry + uses: docker/login-action@v1 + with: + username: ${{ github.actor }} + password: ${{ secrets.DOCKER_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v2 + with: + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + platforms: ${{ steps.buildx.outputs.platforms }} + push: true