diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 60dd04f..55a75c4 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -6,6 +6,7 @@ on: env: GHCR_IMAGE: ghcr.io/${{ github.repository }} + ATCR_IMAGE: atcr.io/${{ secrets.ATCR_NAMESPACE }}/happyview jobs: happyview: @@ -38,12 +39,20 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Log in to ATCR + uses: docker/login-action@v3 + with: + registry: atcr.io + username: ${{ secrets.ATCR_USERNAME }} + password: ${{ secrets.ATCR_PASSWORD }} + - name: Extract metadata (tags, labels) id: meta uses: docker/metadata-action@v5 with: images: | ${{ env.GHCR_IMAGE }} + ${{ env.ATCR_IMAGE }} tags: | type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} @@ -61,7 +70,7 @@ jobs: HAPPYVIEW_VERSION=${{ github.event.release.tag_name }} cache-from: type=gha,scope=build-${{ matrix.platform }} cache-to: type=gha,scope=build-${{ matrix.platform }},mode=max,ignore-error=true - outputs: type=image,"name=${{ env.GHCR_IMAGE }}",push-by-digest=true,name-canonical=true,push=true + outputs: type=image,"name=${{ env.GHCR_IMAGE }},${{ env.ATCR_IMAGE }}",push-by-digest=true,name-canonical=true,push=true - name: Create GHCR manifest run: | @@ -71,3 +80,13 @@ jobs: docker buildx imagetools create $GHCR_TAGS \ ${{ env.GHCR_IMAGE }}@${{ steps.build.outputs.digest }} + - name: Create ATCR manifest + run: | + ATCR_TAGS=$(jq -cr '.tags | map(select(startswith("atcr.io"))) | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") + if [ -n "$ATCR_TAGS" ]; then + docker buildx imagetools create --append $ATCR_TAGS \ + ${{ env.ATCR_IMAGE }}@${{ steps.build.outputs.digest }} 2>/dev/null || \ + docker buildx imagetools create $ATCR_TAGS \ + ${{ env.ATCR_IMAGE }}@${{ steps.build.outputs.digest }} + fi +