File tree Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Original file line number Diff line number Diff line change @@ -114,3 +114,7 @@ jobs:
114
114
hub release create $(for a in artifacts/*; do echo -a $a; done) -m "$NAME" -t "master" "$TAGNAME"
115
115
env :
116
116
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
117
+ - name : Prune old releases
118
+ run : ./utils/prunetags.sh
119
+ env :
120
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ set -e
3
+ git fetch --tags
4
+ TAGS=( $( git tag -l " autobuild-*" | sort -r) )
5
+
6
+ KEEP_LATEST=14
7
+ KEEP_MONTHLY=12
8
+
9
+ LATEST_TAGS=()
10
+ MONTHLY_TAGS=()
11
+
12
+ CUR_MONTH=" -1"
13
+
14
+ for TAG in ${TAGS[@]} ; do
15
+ if [[ ${# LATEST_TAGS[@]} -lt ${KEEP_LATEST} ]]; then
16
+ LATEST_TAGS+=( " $TAG " )
17
+ fi
18
+
19
+ if [[ ${# MONTHLY_TAGS[@]} -lt ${KEEP_MONTHLY} ]]; then
20
+ TAG_MONTH=" $( echo $TAG | cut -d- -f3) "
21
+
22
+ if [[ ${TAG_MONTH} != ${CUR_MONTH} ]]; then
23
+ CUR_MONTH=" ${TAG_MONTH} "
24
+ MONTHLY_TAGS+=( " $TAG " )
25
+ fi
26
+ fi
27
+ done
28
+
29
+ for TAG in ${LATEST_TAGS[@]} ${MONTHLY_TAGS[@]} ; do
30
+ TAGS=( " ${TAGS[@]/ $TAG } " )
31
+ done
32
+
33
+ for TAG in ${TAGS[@]} ; do
34
+ echo " Deleting ${TAG} "
35
+ hub release delete " ${TAG} "
36
+ git tag -d " ${TAG} "
37
+ done
38
+
39
+ git push --tags --prune
You can’t perform that action at this time.
0 commit comments