Skip to content

Commit f0310ec

Browse files
committed
delete all
1 parent 491d543 commit f0310ec

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed

.github/workflows/prune-all.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: "Prune all GHCR image versions"
2+
3+
on:
4+
push:
5+
branches: [ docker ]
6+
7+
permissions:
8+
contents: read
9+
packages: write
10+
11+
jobs:
12+
prune:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Install dependencies
17+
run: |
18+
sudo apt-get update
19+
sudo apt-get install -y jq
20+
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \
21+
| sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
22+
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \
23+
| sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
24+
sudo apt-get update
25+
sudo apt-get install -y gh
26+
27+
- name: Delete **all** versions of CPU & GPU images
28+
env:
29+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30+
OWNER: ${{ github.repository_owner }}
31+
run: |
32+
set -euo pipefail
33+
34+
for IMAGE in deep-learning-crash-course deep-learning-crash-course-gpu; do
35+
echo
36+
echo "🔍 Processing package: $OWNER/$IMAGE"
37+
38+
# Fetch all versions (paginated)
39+
versions=$(gh api --paginate \
40+
-H "Accept: application/vnd.github.v3+json" \
41+
/orgs/$OWNER/packages/container/$IMAGE/versions)
42+
43+
# Delete every version ID
44+
echo "$versions" | jq -r '.[].id' | while read id; do
45+
echo "→ Deleting version $id of $IMAGE"
46+
for attempt in 1 2 3; do
47+
if gh api -X DELETE \
48+
-H "Accept: application/vnd.github.v3+json" \
49+
/orgs/$OWNER/packages/container/$IMAGE/versions/$id; then
50+
echo " ✅ Deleted $id"
51+
break
52+
else
53+
echo " ⚠️ Attempt $attempt failed, retrying in $((5*attempt))s…"
54+
sleep $((5*attempt))
55+
fi
56+
done
57+
done
58+
done

0 commit comments

Comments
 (0)