diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index 7928e45..5c71258 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -38,10 +38,20 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: jerray/publish-docker-action@master + - name: Publish to Docker Hub + uses: jerray/publish-docker-action@master with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} file: dockerfiles/Dockerfile.self-contained repository: containrrr/watchtower tags: latest-dev + - name: Publish to GHCR + uses: jerray/publish-docker-action@master + with: + username: ${{ secrets.BOT_USERNAME }} + password: ${{ secrets.BOT_GHCR_PAT }} + file: dockerfiles/Dockerfile.self-contained + registry: ghcr.io + repository: containrrr/watchtower + tags: latest-dev diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index de72102..39e43fc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -95,27 +95,36 @@ jobs: containrrr/watchtower:amd64-$DH_TAG \ containrrr/watchtower:i386-$DH_TAG \ containrrr/watchtower:armhf-$DH_TAG \ - containrrr/watchtower:arm64v8-$DH_TAG + containrrr/watchtower:arm64v8-$DH_TAG \ + ghcr.io/containrrr/watchtower:$DH_TAG \ + ghcr.io/containrrr/watchtower:amd64-$DH_TAG \ + ghcr.io/containrrr/watchtower:i386-$DH_TAG \ + ghcr.io/containrrr/watchtower:armhf-$DH_TAG \ + ghcr.io/containrrr/watchtower:arm64v8-$DH_TAG - name: Annotate manifest for version run: | + for REPO in '' ghrc.io/ ; do + docker manifest annotate \ - containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ - containrrr/watchtower:i386-$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:i386-$(echo $TAG | sed 's/^v*//') \ --os linux \ --arch 386 docker manifest annotate \ - containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ - containrrr/watchtower:armhf-$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:armhf-$(echo $TAG | sed 's/^v*//') \ --os linux \ --arch arm docker manifest annotate \ - containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ - containrrr/watchtower:arm64v8-$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:arm64v8-$(echo $TAG | sed 's/^v*//') \ --os linux \ --arch arm64 \ --variant v8 + + done - name: Create manifest for latest run: | docker manifest create \ @@ -123,27 +132,36 @@ jobs: containrrr/watchtower:amd64-latest \ containrrr/watchtower:i386-latest \ containrrr/watchtower:armhf-latest \ - containrrr/watchtower:arm64v8-latest + containrrr/watchtower:arm64v8-latest \ + ghcr.io/containrrr/watchtower:latest \ + ghcr.io/containrrr/watchtower:amd64-latest \ + ghcr.io/containrrr/watchtower:i386-latest \ + ghcr.io/containrrr/watchtower:armhf-latest \ + ghcr.io/containrrr/watchtower:arm64v8-latest - name: Annotate manifest for latest run: | + for REPO in '' ghrc.io/ ; do + docker manifest annotate \ - containrrr/watchtower:latest \ - containrrr/watchtower:i386-latest \ + ${REPO}containrrr/watchtower:latest \ + ${REPO}containrrr/watchtower:i386-latest \ --os linux \ --arch 386 docker manifest annotate \ - containrrr/watchtower:latest \ - containrrr/watchtower:armhf-latest \ + ${REPO}containrrr/watchtower:latest \ + ${REPO}containrrr/watchtower:armhf-latest \ --os linux \ --arch arm - + docker manifest annotate \ - containrrr/watchtower:latest \ - containrrr/watchtower:arm64v8-latest \ + ${REPO}containrrr/watchtower:latest \ + ${REPO}containrrr/watchtower:arm64v8-latest \ --os linux \ --arch arm64 \ --variant v8 + + done - name: Push manifests to Dockerhub env: DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }} @@ -152,6 +170,11 @@ jobs: docker login -u $DOCKER_USER -p $DOCKER_TOKEN && \ docker manifest push containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ docker manifest push containrrr/watchtower:latest + - name: Push manifests to GitHub Container Registry + run: | + echo "$BOT_GHCR_PAT" | docker login -u $BOT_USERNAME --password-stdin && \ + docker manifest push ghcr.io/containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ + docker manifest push ghcr.io/containrrr/watchtower:latest publish-docs: name: Publish Docs