Loading sa5/.gitlab-ci.yml +1 −1 Original line number Diff line number Diff line Loading @@ -170,7 +170,7 @@ Delete old branches: script: - echo 'Delete old branches' - mkdir logs - ./delete_old_branches.sh ${CI_API_V4_URL} ${CI_PROJECT_ID} $DELETE_BRANCHES_TOKEN - ./delete_old_branches.sh ${CI_API_V4_URL} ${CI_PROJECT_ID} $DELETE_BRANCHES_TOKEN $MY_VARIABLE artifacts: paths: - logs/ sa5/delete_old_branches.sh +11 −8 Original line number Diff line number Diff line Loading @@ -19,8 +19,8 @@ echo "CI_PROJECT_ID:" $2 PRIVATE_TOKEN=$3 ONE_YEAR_AGO=$(date -d '1 year ago' --iso-8601=seconds) DRY_RUN=true # Set to false to actually delete MY_VARIABLE=true DRY_RUN="true" # Set to false to actually delete MY_VARIABLE="true" LOG_FILE="deleted_branches_$(date +%Y%m%d_%H%M%S).log" # ==== Helper: URL encode ==== Loading Loading @@ -61,26 +61,29 @@ while true; do if [[ "$last_commit_date" < "$ONE_YEAR_AGO" ]]; then ((deleted_branches++)) echo "==> OLD branch: $branch_name (last commit: $last_commit_date)" >> "$LOG_FILE" if [ "$DRY_RUN" = true ]; then echo "[DRY-RUN] Would delete: $branch_name (last commit: $last_commit_date)" >> "$LOG_FILE" echo "==> OLD branch: $branch_name (last commit: $last_commit_date)" | tee -a "$LOG_FILE" if [ "$DRY_RUN" = "true" ]; then echo "[DRY-RUN] Would delete: $branch_name (last commit: $last_commit_date)" | tee -a "$LOG_FILE" else encoded_branch=$(urlencode "$branch_name") delete_response=$(curl --silent --request DELETE \ --header "PRIVATE-TOKEN: $PRIVATE_TOKEN" \ "$1/projects/$PROJECT_ID/repository/branches/$encoded_branch") echo "Deleted: $branch_name" echo "Deleted: $branch_name" | tee -a "$LOG_FILE" fi else echo "Keeping branch: $branch_name (last commit: $last_commit_date)" echo "Keeping branch: $branch_name (last commit: $last_commit_date)" | tee -a "$LOG_FILE" fi done < /tmp/branches.json ((page++)) done echo "Total deleted branches: $deleted_branches" >> "$LOG_FILE" echo "Total deleted branches: $deleted_branches" | tee -a "$LOG_FILE" if [ "$DRY_RUN" = "true" ]; then echo "[DRY-RUN] No branches actually deleted." | tee -a "$LOG_FILE" fi echo "Done. Deleted branches logged to: $LOG_FILE" Loading
sa5/.gitlab-ci.yml +1 −1 Original line number Diff line number Diff line Loading @@ -170,7 +170,7 @@ Delete old branches: script: - echo 'Delete old branches' - mkdir logs - ./delete_old_branches.sh ${CI_API_V4_URL} ${CI_PROJECT_ID} $DELETE_BRANCHES_TOKEN - ./delete_old_branches.sh ${CI_API_V4_URL} ${CI_PROJECT_ID} $DELETE_BRANCHES_TOKEN $MY_VARIABLE artifacts: paths: - logs/
sa5/delete_old_branches.sh +11 −8 Original line number Diff line number Diff line Loading @@ -19,8 +19,8 @@ echo "CI_PROJECT_ID:" $2 PRIVATE_TOKEN=$3 ONE_YEAR_AGO=$(date -d '1 year ago' --iso-8601=seconds) DRY_RUN=true # Set to false to actually delete MY_VARIABLE=true DRY_RUN="true" # Set to false to actually delete MY_VARIABLE="true" LOG_FILE="deleted_branches_$(date +%Y%m%d_%H%M%S).log" # ==== Helper: URL encode ==== Loading Loading @@ -61,26 +61,29 @@ while true; do if [[ "$last_commit_date" < "$ONE_YEAR_AGO" ]]; then ((deleted_branches++)) echo "==> OLD branch: $branch_name (last commit: $last_commit_date)" >> "$LOG_FILE" if [ "$DRY_RUN" = true ]; then echo "[DRY-RUN] Would delete: $branch_name (last commit: $last_commit_date)" >> "$LOG_FILE" echo "==> OLD branch: $branch_name (last commit: $last_commit_date)" | tee -a "$LOG_FILE" if [ "$DRY_RUN" = "true" ]; then echo "[DRY-RUN] Would delete: $branch_name (last commit: $last_commit_date)" | tee -a "$LOG_FILE" else encoded_branch=$(urlencode "$branch_name") delete_response=$(curl --silent --request DELETE \ --header "PRIVATE-TOKEN: $PRIVATE_TOKEN" \ "$1/projects/$PROJECT_ID/repository/branches/$encoded_branch") echo "Deleted: $branch_name" echo "Deleted: $branch_name" | tee -a "$LOG_FILE" fi else echo "Keeping branch: $branch_name (last commit: $last_commit_date)" echo "Keeping branch: $branch_name (last commit: $last_commit_date)" | tee -a "$LOG_FILE" fi done < /tmp/branches.json ((page++)) done echo "Total deleted branches: $deleted_branches" >> "$LOG_FILE" echo "Total deleted branches: $deleted_branches" | tee -a "$LOG_FILE" if [ "$DRY_RUN" = "true" ]; then echo "[DRY-RUN] No branches actually deleted." | tee -a "$LOG_FILE" fi echo "Done. Deleted branches logged to: $LOG_FILE"