diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index b11c9c16..a1e64be3 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -92,36 +92,43 @@ jobs: provenance: false outputs: type=image,name=gitea.technocloud.ee/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }},push-by-digest=true - create-manifest: - needs: [build-amd64, build-arm64] - runs-on: linux_amd - name: Create Multi-arch Manifest - container: - image: catthehacker/ubuntu:act-latest - env: - DOCKER_ORG: technocloud-public - strategy: - matrix: - python-version: ['3.10'] - steps: - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - registry: gitea.technocloud.ee - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - name: Get Meta - id: meta - run: | - echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT - - name: Create and Push Manifest - uses: docker/build-push-action@v5 - with: - context: . - push: true - provenance: false - platforms: linux/amd64,linux/arm64 - tags: gitea.technocloud.ee/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:python${{ matrix.python-version }} - inputs: | - amd64=gitea.technocloud.ee/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}@${{ needs.build-amd64.outputs.amd64-digest-${{ matrix.python-version }} }} - arm64=gitea.technocloud.ee/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}@${{ needs.build-arm64.outputs.arm64-digest-${{ matrix.python-version }} }} \ No newline at end of file +create-manifest: + needs: [build-amd64, build-arm64] + runs-on: ubuntu-latest + name: Create Multi-arch Manifest + env: + DOCKER_ORG: technocloud-public + strategy: + matrix: + python-version: ['3.10'] + steps: + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: gitea.technocloud.ee + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Set up Docker BuildX + uses: docker/setup-buildx-action@v3 + with: + driver: docker-container + + - name: Get Repository Metadata + id: meta + run: | + echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_OUTPUT + + - name: Create and Push Multi-arch Manifest + run: | + IMAGE_NAME=gitea.technocloud.ee/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:python${{ matrix.python-version }} + AMD64_DIGEST=${{ needs.build-amd64.outputs['amd64-digest-' + matrix.python-version] }} + ARM64_DIGEST=${{ needs.build-arm64.outputs['arm64-digest-' + matrix.python-version] }} + + # Create the manifest + docker manifest create $IMAGE_NAME \ + --amend gitea.technocloud.ee/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}@$AMD64_DIGEST \ + --amend gitea.technocloud.ee/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}@$ARM64_DIGEST + + # Push the manifest + docker manifest push $IMAGE_NAME \ No newline at end of file