delete_dev_releases.sh 946 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/bash
  2. # Set the repository (format: owner/repo)
  3. REPO="Avaiga/taipy"
  4. # Get the list of pre-releases
  5. pre_releases=$(gh release list --repo "$REPO" --json tagName,isPrerelease --jq '.[] | select(.isPrerelease == true) | .tagName')
  6. # If there are no pre-releases, exit
  7. if [ -z "$pre_releases" ]; then
  8. echo "No pre-releases found."
  9. exit 0
  10. fi
  11. # Get the latest pre-release tag
  12. latest_pre_release=$(echo "$pre_releases" | head -n 1)
  13. # Prepare a list of releases to delete
  14. to_delete=()
  15. # Identify pre-releases to delete
  16. for tag in $pre_releases; do
  17. if [[ "$tag" == *"$latest_pre_release"* ]]; then
  18. echo "Latest release found! Skipping"
  19. else
  20. to_delete+=("$tag")
  21. fi
  22. done
  23. # Delete the releases
  24. for tag in "${to_delete[@]}"; do
  25. echo "Deleting pre-release with tag: $tag"
  26. gh release delete "$tag" --repo "$REPO" --yes ----cleanup-tag
  27. done
  28. echo "Kept all pre-releases matching version: $latest_pre_release"