#!/bin/bash
#
# This script helps with deleting old workflows on github.

OP=$1
REPO=repos/project-chip/zap

if [ -z "$OP" ]; then
    echo "Usage: workflow-ops [ list [xxxxx] | delete xxxxx ]"
    echo ""
    echo "   list       : lists all workflows"
    echo "   list ID    : lists all runs under a given workflow"
    echo "   delete ID  : DELETES all runs under a given workflow"
    echo ""
    echo "WARNING: If you run 'delete' this WILL DELETE all the workflow runs under a given workflow."
    echo "Make sure you know what you're doing! Really!!"
    exit
fi

if [ "$OP" == "list" ]; then
    ID=$2
    if [ -z "$ID" ]; then
        gh api $REPO/actions/workflows | jq -cM '.workflows[] | [.id, .name, .path]'
    else
        gh api $REPO/actions/workflows/$ID/runs --paginate | jq '.workflow_runs[] | .id'
    fi
    elif [ "$OP" == "delete" ]; then
    ID=$2
    if [ -z "$ID" ]; then
        echo "You need to provide ID."
        exit
    fi
    echo "Deleting workflow runs for workflow $ID. Please wait. This might take a while...."
    gh api $REPO/actions/workflows/$ID/runs --paginate | jq '.workflow_runs[] | .id' | xargs -n1 -I% gh api $REPO/actions/runs/% -X DELETE
else
    echo "Unknown command: $OP"
fi
