diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 1524ba6..cd5d034 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -19,20 +19,24 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 + with: + fetch-depth: 0 - - name: Setup Docker layer caching - uses: satackey/action-docker-layer-caching@v0.0.11 - continue-on-error: true - - - name: Setup build environment + - name: Set up QEMU uses: docker/setup-qemu-action@v3 + with: + platforms: 'arm64,amd64' - - name: Setup Buildx - uses: docker/setup-buildx-action@v3.2.0 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + platforms: linux/amd64,linux/arm64 + driver-opts: | + image=moby/buildkit:latest - name: Login to registry - uses: docker/login-action@v3.1.0 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -40,24 +44,32 @@ jobs: - name: Extract metadata id: meta - uses: docker/metadata-action@v5.5.1 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=sha,format=long + type=raw,value=new - name: Get version id: get_version run: echo "version=$(git describe --tags --always)" >> $GITHUB_OUTPUT - name: Build and push - id: build-and-push - uses: docker/build-push-action@v5.3.0 + uses: docker/build-push-action@v5 with: context: . push: true platforms: linux/amd64,linux/arm64 + cache-from: type=gha + cache-to: type=gha,mode=max tags: | ${{ env.REGISTRY }}/${{ github.repository_owner }}/xboard:new ${{ env.REGISTRY }}/${{ github.repository_owner }}/xboard:${{ steps.get_version.outputs.version }} + build-args: | + BUILDKIT_INLINE_CACHE=1 + provenance: false - name: Install cosign uses: sigstore/cosign-installer@v3.4.0