Skip to content

Commit 91e4291

Browse files
Update make-update-github-releases.yml
Signed-off-by: LUIZ HAMILTON ROBERTO DA SILVA <[email protected]>
1 parent b00fbfe commit 91e4291

1 file changed

Lines changed: 29 additions & 49 deletions

File tree

.github/workflows/make-update-github-releases.yml

Lines changed: 29 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ permissions:
1515

1616
jobs:
1717
cleanup-github-releases:
18-
name: 🧹 Cleanup Old Managed Releases & Tags (2026*)
18+
name: 🧹 Cleanup Old Managed Releases & Tags (managed prefixes)
1919
runs-on: ubuntu-latest
2020
timeout-minutes: 25
2121

@@ -34,79 +34,62 @@ jobs:
3434
READMEs-Files-Package
3535
SysAdmin-Tools
3636
37-
# Matches your requested "2026xxyyzzwwkk" style (2026 + extra digits).
38-
# Also covers your current pattern: 2026MMDD (8 digits) + optional "-<sha>"
39-
# Examples matched:
40-
# SysAdmin-Tools-20260206-6b43527
41-
# SysAdmin-Tools-20260206010203-6b43527
42-
MANAGED_2026_VERSION_REGEX: '^2026[0-9]{4,10}(-[0-9a-f]{7})?$'
43-
4437
steps:
45-
- name: 🧰 Install Dependencies (gh)
46-
shell: bash
47-
run: |
48-
set -euo pipefail
49-
sudo apt-get update
50-
sudo apt-get install -y gh
51-
5238
- name: 🔐 Verify GitHub CLI Auth
5339
shell: bash
5440
run: |
5541
set -euo pipefail
5642
gh auth status
5743
58-
- name: 🗑️ Delete ALL matching Releases (tag prefix + 2026 version)
44+
- name: 🗑️ Delete ALL matching Releases (tag_name starts with managed prefix)
5945
shell: bash
6046
run: |
6147
set -euo pipefail
6248
63-
owner="${GITHUB_REPOSITORY%/*}"
64-
repo="${GITHUB_REPOSITORY#*/}"
49+
repo="${GITHUB_REPOSITORY}"
50+
owner="${repo%/*}"
51+
name="${repo#*/}"
6552
66-
echo "Repository: ${owner}/${repo}"
53+
echo "Repository: ${repo}"
6754
echo "Managed prefixes:"
6855
for p in ${MANAGED_TAG_PREFIXES}; do
6956
echo " - $p"
7057
done
71-
echo "Version regex: ${MANAGED_2026_VERSION_REGEX}"
7258
7359
deleted=0
7460
75-
# Stream tag_name for ALL releases (paginated)
61+
# Stream tag_name for ALL releases (paginated; no fixed limit)
7662
mapfile -t release_tags < <(
77-
gh api --paginate "repos/${owner}/${repo}/releases?per_page=100" --jq '.[].tag_name'
63+
gh api --repo "$repo" --paginate "repos/${owner}/${name}/releases?per_page=100" --jq '.[].tag_name'
7864
)
7965
8066
if [[ "${#release_tags[@]}" -eq 0 ]]; then
8167
echo "No releases found."
82-
else
83-
for tag in "${release_tags[@]}"; do
84-
for prefix in ${MANAGED_TAG_PREFIXES}; do
85-
# Expected tag formats:
86-
# <prefix>-<version>
87-
# where <version> begins with 2026...
88-
if [[ "$tag" == "${prefix}-"* ]]; then
89-
ver="${tag#${prefix}-}"
90-
if [[ "$ver" =~ ${MANAGED_2026_VERSION_REGEX} ]]; then
91-
echo "Deleting release: ${tag}"
92-
gh release delete "${tag}" -y || true
93-
deleted=$((deleted + 1))
94-
fi
95-
break
96-
fi
97-
done
98-
done
68+
exit 0
9969
fi
10070
71+
for tag in "${release_tags[@]}"; do
72+
for prefix in ${MANAGED_TAG_PREFIXES}; do
73+
# Delete ANY release whose tag_name begins with "<prefix>-"
74+
if [[ "$tag" == "${prefix}-"* ]]; then
75+
echo "Deleting release: ${tag}"
76+
gh release delete "${tag}" --yes --repo "$repo" || true
77+
deleted=$((deleted + 1))
78+
break
79+
fi
80+
done
81+
done
82+
10183
echo "Deleted releases: ${deleted}"
10284
103-
- name: 🗑️ Delete ALL matching Tags (tag prefix + 2026 version)
85+
- name: 🗑️ Delete ALL matching Tags (name starts with managed prefix)
10486
shell: bash
10587
run: |
10688
set -euo pipefail
10789
108-
owner="${GITHUB_REPOSITORY%/*}"
109-
repo="${GITHUB_REPOSITORY#*/}"
90+
repo="${GITHUB_REPOSITORY}"
91+
owner="${repo%/*}"
92+
name="${repo#*/}"
11093
11194
deleted=0
11295
@@ -115,19 +98,16 @@ jobs:
11598
echo "Scanning tags for prefix: ${prefix}-"
11699
117100
mapfile -t refs < <(
118-
gh api --paginate "repos/${owner}/${repo}/git/matching-refs/tags/${prefix}-" --jq '.[].ref'
101+
gh api --repo "$repo" --paginate "repos/${owner}/${name}/git/matching-refs/tags/${prefix}-" --jq '.[].ref'
119102
)
120103
121104
for ref in "${refs[@]}"; do
122105
# ref like: refs/tags/<tagname>
123106
tag="${ref#refs/tags/}"
124-
ver="${tag#${prefix}-}"
125107
126-
if [[ "$ver" =~ ${MANAGED_2026_VERSION_REGEX} ]]; then
127-
echo "Deleting tag ref: ${ref}"
128-
gh api -X DELETE "repos/${owner}/${repo}/git/refs/tags/${tag}" >/dev/null 2>&1 || true
129-
deleted=$((deleted + 1))
130-
fi
108+
echo "Deleting tag ref: ${ref}"
109+
gh api --repo "$repo" -X DELETE "repos/${owner}/${name}/git/refs/tags/${tag}" >/dev/null 2>&1 || true
110+
deleted=$((deleted + 1))
131111
done
132112
done
133113

0 commit comments

Comments
 (0)