name: Release on: push: tags: - "**" jobs: push-arm64: runs-on: ubuntu-latest-arm64 steps: - uses: actions/checkout@v4.2.2 - uses: docker/setup-qemu-action@v3.6.0 - uses: docker/setup-buildx-action@v3.10.0 - uses: docker/login-action@v3.4.0 with: registry: git.cryptic.systems username: ${{ github.repository_owner }} password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} - name: Build and push image run: | TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm') docker buildx build \ --platform linux/arm64 \ --file Dockerfile \ --provenance false \ --tag git.cryptic.systems/volker.raschek/docker-compose:${TAG}-arm64 \ --push \ . push-amd64: runs-on: ubuntu-latest-amd64 steps: - uses: actions/checkout@v4.2.2 - uses: docker/setup-qemu-action@v3.6.0 - uses: docker/setup-buildx-action@v3.10.0 - uses: docker/login-action@v3.4.0 with: registry: git.cryptic.systems username: ${{ github.repository_owner }} password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} - name: Build and push image run: | TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm') docker buildx build \ --platform linux/amd64 \ --file Dockerfile \ --provenance false \ --tag git.cryptic.systems/volker.raschek/docker-compose:${TAG}-amd64 \ --push \ . push-manifest: runs-on: ubuntu-latest needs: - push-arm64 - push-amd64 steps: - uses: docker/login-action@v3.4.0 with: registry: git.cryptic.systems username: ${{ github.repository_owner }} password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} - name: Create and push manifest run: | TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm') docker manifest create git.cryptic.systems/volker.raschek/docker-compose:${TAG} \ --amend git.cryptic.systems/volker.raschek/docker-compose:${TAG}-amd64 \ --amend git.cryptic.systems/volker.raschek/docker-compose:${TAG}-arm64 docker manifest push git.cryptic.systems/volker.raschek/docker-compose:${TAG}