contrib/cleanup-pipeline.sh
changeset 52293 77b38c86915d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/cleanup-pipeline.sh	Tue Nov 12 12:45:23 2024 +0100
@@ -0,0 +1,36 @@
+#!/bin/bash
+# A small script to cleanup old CI-pipeline that accumulate over time
+
+
+d="`date -d '-1 month' --iso-8601`T00:00:00Z"
+
+PROJECT_ID=22
+
+token=$1
+
+if [ -z $token ]; then
+    echo "USAGE: $0 GITLAB_TOKEN" >&2
+    exit 64
+fi
+
+get_ids() {
+    curl --silent "https://foss.heptapod.net/api/v4/projects/$PROJECT_ID/pipelines?updated_before=$d&per_page=100" | python3 -m json.tool | grep -E '"\bid": ([0-9]+),' | grep -oE '[0-9]+'
+}
+
+ids=`get_ids`
+while [ -n "$ids" ]; do
+    echo '#########'
+    for pipeline_id  in $ids; do
+        echo "deleting pipeline #$pipeline_id"
+        url="https://foss.heptapod.net/api/v4/projects/$PROJECT_ID/pipelines/$pipeline_id"
+        echo $url
+        curl \
+            --header "PRIVATE-TOKEN: $token"\
+            --request "DELETE"\
+            $url
+    done
+    ids=`get_ids`
+    if [ -n "$ids" ]; then
+        sleep 1
+    fi
+done