/ PyCrypCli / .github / workflows / docker_clean.yml
docker_clean.yml
 1  name: Docker Clean
 2  
 3  on: delete
 4  
 5  jobs:
 6    clean:
 7      if: ${{ github.event.ref_type == 'branch' }}
 8      runs-on: ubuntu-latest
 9  
10      steps:
11        - env:
12            TOKEN: ${{ secrets.CR_PAT }}
13            USER: "users/defelo"
14            NAME: "pycrypcli"
15            BRANCH: ${{ github.event.ref }}
16          run: |
17            set -ex
18  
19            AUTH="Authorization: Bearer ${TOKEN}"
20            URL="https://api.github.com/${USER}/packages/container/${NAME}/versions"
21            branch=$(echo $BRANCH | tr / -)
22  
23            for version in $(curl -H "${AUTH}" "${URL}" | jq -c ".[] | select((.metadata.container.tags - (.metadata.container.tags - (\"$branch $branch-linux-amd64 $branch-linux-arm-v7 $branch-linux-arm64-v8\" | split(\" \"))))!=[])"); do
24                id=$(echo "${version}" | jq -r .id)
25                name=$(echo "${version}" | jq -r .name)
26                echo pruning $id $name
27                curl -X DELETE -H "${AUTH}" "${URL}/${id}"
28            done