Skip to content

Commit 978ed0b

Browse files
committed
chore: add step to make Docker package public in CI workflow
1 parent 5499a5c commit 978ed0b

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

.github/workflows/docker.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,29 @@ jobs:
5757
platforms: linux/amd64,linux/arm64
5858
cache-from: type=gha
5959
cache-to: type=gha,mode=max
60+
61+
- name: Make package public
62+
run: |
63+
PACKAGE_NAME=$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]')
64+
PACKAGE_NAME_ENCODED="${PACKAGE_NAME//\//%2F}"
65+
66+
# Try user endpoint first (for personal repos)
67+
RESPONSE=$(curl -s -w "\n%{http_code}" -X PUT \
68+
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
69+
-H "Accept: application/vnd.github+json" \
70+
"https://api.github.com/user/packages/container/${PACKAGE_NAME_ENCODED}/visibility" \
71+
-d '{"visibility":"public"}')
72+
73+
HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
74+
75+
# If user endpoint fails, try org endpoint
76+
if [ "$HTTP_CODE" != "204" ] && [ "$HTTP_CODE" != "200" ]; then
77+
OWNER=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
78+
curl -s -w "\n%{http_code}" -X PUT \
79+
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
80+
-H "Accept: application/vnd.github+json" \
81+
"https://api.github.com/orgs/${OWNER}/packages/container/${PACKAGE_NAME_ENCODED}/visibility" \
82+
-d '{"visibility":"public"}' || echo "Note: Package visibility may need to be set manually at https://github.com/${{ github.repository }}/pkgs/container/document/settings"
83+
else
84+
echo "✅ Package set to public"
85+
fi

0 commit comments

Comments
 (0)