Skip to content

Cleanup Master Builds on Release Published #10

Cleanup Master Builds on Release Published

Cleanup Master Builds on Release Published #10

# name: Cleanup Master Builds on Release Published
# on:
# workflow_dispatch:
# release:
# types: [ published ]
# jobs:
# clean-master-builds:
# runs-on: ubuntu-22.04
# steps:
# - name: Get Package Names
# run: |
# packages_to_delete=($( mvn -B exec:exec -Dexec.executable=echo -Dexec.args='###MODULE_GAV### ${project.groupId}.${project.artifactId}' | grep '###MODULE_GAV### ' | cut -f2 -d' ' ))
# echo 'packages_to_delete=$packages_to_delete' >> "$GITHUB_ENV"
# - name: Delete Github Packages for Master/Main
# run: |
# packages_to_delete=${{ env.packages_to_delete }}
# for package_name in "${packages_to_delete[@]}"
# do
# curl -X DELETE \
# -H "Accept: application/vnd.github+json" \
# -H "Authorization: Bearer ${{ secrets.LIQUIBOT_LIQUIBASE_PAT }}"\
# -H "X-GitHub-Api-Version: 2022-11-28" \
# https://api.github.com/user/packages/maven/$package_name/versions/master-SNAPSHOT
# done
# - name: Delete artifact based off of branch and commit SHA
# run: |
# packages_to_delete=${{ env.packages_to_delete }}
# git_sha="(git rev-parse --short HEAD)-SNAPSHOT"
# echo $packages_to_delete
# for package_name in "${packages_to_delete[@]}"
# do
# curl -X DELETE \
# -H "Accept: application/vnd.github+json" \
# -H "Authorization: Bearer ${{ secrets.LIQUIBOT_LIQUIBASE_PAT }}"\
# -H "X-GitHub-Api-Version: 2022-11-28" \
# https://api.github.com/user/packages/maven/$package_name/versions/$git_sha
# done
name: Cleanup Master Builds on Release Published
on:
workflow_dispatch:
delete:
branches:
- '**DAT-**'
jobs:
setup:
runs-on: ubuntu-22.04
steps:
- id: get_packages
run: |
packages_to_delete=($(mvn -B exec:exec -Dexec.executable=echo -Dexec.args='###MODULE_GAV### ${project.groupId}:${project.artifactId}' | grep '###MODULE_GAV### ' | cut -f2 -d' ' ))
echo '::set-output packages_to_delete=${packages_to_delete}'
# echo "PACKAGES_TO_DELETE=$packages_to_delete" >> $GITHUB_ENV
outputs:
packages_to_delete: ${{ steps.get_packages.outputs.packages_to_delete }}
delete-package:
needs: [ setup ]
name: Delete Github Package for Branch
runs-on: ubuntu-22.04
strategy:
matrix:
value: ${{ fromJson(needs.setup.outputs.packages_to_delete) }}
steps:
# Get version id(s) based on version name
- uses: castlabs/get-package-version-id-action@v2.1
id: version
with:
version: "${{ github.event.ref }}-SNAPSHOT"
- uses: actions/delete-package-versions@v3
if: ${{ steps.version.outputs.ids != '' }}
with:
# Name of the package.
# Defaults to an empty string.
# Required if `package-version-ids` input is not given.
package-name: ${{ matrix.value }}
# The number of latest versions to keep.
# This cannot be specified with `num-old-versions-to-delete`. By default, `num-old-versions-to-delete` takes precedence over `min-versions-to-keep`.
# When set to 0, all deletable versions will be deleted.
# When set greater than 0, all deletable package versions except the specified number will be deleted.
min-versions-to-keep: 0
# Can be a single package version id, or a comma separated list of package version ids.
# Defaults to an empty string.
package-version-ids: "${{ steps.version.outputs.ids }}"