diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 50065993..71397fcd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -218,16 +218,16 @@ jobs: run: | docker tag \ "${{ needs.build.outputs.image-tag }}" \ - "docker.io/${{ env.DOCKER_HUB_ORG }}/team-operator:latest" + "docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-team-operator:latest" docker tag \ "${{ needs.build.outputs.image-tag }}" \ - "docker.io/${{ env.DOCKER_HUB_ORG }}/team-operator:${{ needs.build.outputs.version }}" - docker push "docker.io/${{ env.DOCKER_HUB_ORG }}/team-operator:latest" - docker push "docker.io/${{ env.DOCKER_HUB_ORG }}/team-operator:${{ needs.build.outputs.version }}" + "docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-team-operator:${{ needs.build.outputs.version }}" + docker push "docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-team-operator:latest" + docker push "docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-team-operator:${{ needs.build.outputs.version }}" - name: Display Docker Hub image tags run: | echo "### Docker Hub Images Pushed" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY - echo "- \`docker.io/${{ env.DOCKER_HUB_ORG }}/team-operator:${{ needs.build.outputs.version }}\`" >> $GITHUB_STEP_SUMMARY - echo "- \`docker.io/${{ env.DOCKER_HUB_ORG }}/team-operator:latest\`" >> $GITHUB_STEP_SUMMARY + echo "- \`docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-team-operator:${{ needs.build.outputs.version }}\`" >> $GITHUB_STEP_SUMMARY + echo "- \`docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-team-operator:latest\`" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/cleanup-adhoc-images.yml b/.github/workflows/cleanup-adhoc-images.yml index b0387b68..6902c120 100644 --- a/.github/workflows/cleanup-adhoc-images.yml +++ b/.github/workflows/cleanup-adhoc-images.yml @@ -14,6 +14,9 @@ on: permissions: packages: write +env: + GHCR_ORG: posit-dev + jobs: cleanup: runs-on: ubuntu-latest @@ -33,18 +36,47 @@ jobs: echo "Cleaning up tags with prefix: $TAG_PREFIX" - name: Delete adhoc package versions - uses: actions/delete-package-versions@v5 - with: - package-name: ${{ matrix.package }} - package-type: container - delete-only-pre-release-versions: false - min-versions-to-keep: 0 - token: ${{ secrets.GITHUB_TOKEN }} - continue-on-error: true + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PACKAGE: ${{ matrix.package }} + TAG_PREFIX: ${{ steps.tag-prefix.outputs.prefix }} + run: | + echo "Looking for versions of $PACKAGE with tag prefix: $TAG_PREFIX" + + # List all versions and find ones with matching adhoc tags + VERSIONS=$(gh api \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "/orgs/${{ env.GHCR_ORG }}/packages/container/${PACKAGE}/versions" \ + --paginate \ + --jq ".[] | select(.metadata.container.tags[] | startswith(\"$TAG_PREFIX\")) | .id" \ + 2>/dev/null || echo "") + + if [ -z "$VERSIONS" ]; then + echo "No adhoc versions found with prefix: $TAG_PREFIX" + exit 0 + fi + + DELETED=0 + for VERSION_ID in $VERSIONS; do + echo "Deleting version ID: $VERSION_ID" + if gh api \ + --method DELETE \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "/orgs/${{ env.GHCR_ORG }}/packages/container/${PACKAGE}/versions/${VERSION_ID}" \ + 2>/dev/null; then + DELETED=$((DELETED + 1)) + else + echo "Warning: Failed to delete version $VERSION_ID (may be the last tagged version)" + fi + done + + echo "Deleted $DELETED adhoc version(s)" - name: Summary run: | echo "### Adhoc Image Cleanup: ${{ matrix.package }}" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "- **Tag prefix:** \`${{ steps.tag-prefix.outputs.prefix }}\`" >> $GITHUB_STEP_SUMMARY - echo "- **Package:** \`ghcr.io/posit-dev/${{ matrix.package }}\`" >> $GITHUB_STEP_SUMMARY + echo "- **Package:** \`ghcr.io/${{ env.GHCR_ORG }}/${{ matrix.package }}\`" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/flightdeck.yml b/.github/workflows/flightdeck.yml index 92ceae6b..d35456a8 100644 --- a/.github/workflows/flightdeck.yml +++ b/.github/workflows/flightdeck.yml @@ -192,16 +192,16 @@ jobs: run: | docker tag \ "${{ env.GHCR_REGISTRY }}/flightdeck:${{ needs.build.outputs.version }}" \ - "docker.io/${{ env.DOCKER_HUB_ORG }}/flightdeck:latest" + "docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-flightdeck:latest" docker tag \ "${{ env.GHCR_REGISTRY }}/flightdeck:${{ needs.build.outputs.version }}" \ - "docker.io/${{ env.DOCKER_HUB_ORG }}/flightdeck:${{ needs.build.outputs.version }}" - docker push "docker.io/${{ env.DOCKER_HUB_ORG }}/flightdeck:latest" - docker push "docker.io/${{ env.DOCKER_HUB_ORG }}/flightdeck:${{ needs.build.outputs.version }}" + "docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-flightdeck:${{ needs.build.outputs.version }}" + docker push "docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-flightdeck:latest" + docker push "docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-flightdeck:${{ needs.build.outputs.version }}" - name: Display Docker Hub image tags run: | echo "### Docker Hub Images Pushed" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY - echo "- \`docker.io/${{ env.DOCKER_HUB_ORG }}/flightdeck:${{ needs.build.outputs.version }}\`" >> $GITHUB_STEP_SUMMARY - echo "- \`docker.io/${{ env.DOCKER_HUB_ORG }}/flightdeck:latest\`" >> $GITHUB_STEP_SUMMARY + echo "- \`docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-flightdeck:${{ needs.build.outputs.version }}\`" >> $GITHUB_STEP_SUMMARY + echo "- \`docker.io/${{ env.DOCKER_HUB_ORG }}/ptd-flightdeck:latest\`" >> $GITHUB_STEP_SUMMARY