name: Build and Push Image (Docker Buildx; GitHub Actions) on: push: tags: - 'v*' env: DOCKER_REGISTRY_NAME: ghcr.io DOCKER_IMAGE_NAME: ${{ github.repository }} jobs: build: runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Setup Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to Docker hub uses: docker/login-action@v1 with: registry: ${{ env.DOCKER_REGISTRY_NAME }} username: ${{ github.repository_owner }} password: ${{ github.token }} # github.token - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v3 with: images: ${{ env.DOCKER_REGISTRY_NAME }}/${{ env.DOCKER_IMAGE_NAME }} - name: Build & Push uses: docker/build-push-action@v2 env: DOCKER_BUILDKIT: 1 with: context: . push: true platforms: linux/amd64,linux/arm64 tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: ${{ env.DOCKER_REGISTRY_NAME }}/${{ env.DOCKER_IMAGE_NAME }}:latest build-args: BUILDKIT_INLINE_CACHE=1