Skip to content

Commit 8ad8b91

Browse files
committed
ghcr cleanup, delete untagged
1 parent 25c363e commit 8ad8b91

File tree

1 file changed

+44
-33
lines changed

1 file changed

+44
-33
lines changed

.github/workflows/docker-publish.yml

+44-33
Original file line numberDiff line numberDiff line change
@@ -44,37 +44,48 @@ jobs:
4444
username: ${{ github.actor }}
4545
password: ${{ secrets.GITHUB_TOKEN }}
4646

47-
# Extract metadata (tags, labels) for Docker
48-
# https://github.com/docker/metadata-action
49-
- name: Extract Docker metadata
50-
id: meta
51-
uses: docker/metadata-action@v4
52-
with:
53-
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
54-
55-
# Creates an additional 'latest' or 'nightly' tag
56-
# If the job is triggered via cron schedule, tag nightly and nightly-{SHA}
57-
# If the job is triggered via workflow dispatch and on a master branch, tag branch and latest
58-
# Otherwise, just tag as the branch name
59-
- name: Finalize Docker Metadata
60-
id: docker_tagging
61-
run: |
62-
if [[ "${{ github.event_name }}" == 'schedule' ]]; then
63-
echo "cron trigger, assigning nightly tag"
64-
echo "docker_tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:nightly,${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:nightly-${GITHUB_SHA}" >> $GITHUB_OUTPUT
65-
elif [[ "${GITHUB_REF##*/}" == "main" ]] || [[ ${GITHUB_REF##*/} == "master" ]]; then
66-
echo "manual trigger from master/main branch, assigning latest tag"
67-
echo "docker_tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${GITHUB_REF##*/},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest" >> $GITHUB_OUTPUT
68-
else
69-
echo "Neither scheduled nor manual release from main branch. Just tagging as branch name"
70-
echo "docker_tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${GITHUB_REF##*/}" >> $GITHUB_OUTPUT
71-
fi
72-
73-
# Log docker metadata to explicitly know what is being pushed
74-
- name: Inspect Docker Metadata
75-
run: |
76-
echo "TAGS -> ${{ steps.docker_tagging.outputs.docker_tags }}"
77-
echo "LABELS -> ${{ steps.meta.outputs.labels }}"
47+
# # Extract metadata (tags, labels) for Docker
48+
# # https://github.com/docker/metadata-action
49+
# - name: Extract Docker metadata
50+
# id: meta
51+
# uses: docker/metadata-action@v4
52+
# with:
53+
# images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
54+
#
55+
# # Creates an additional 'latest' or 'nightly' tag
56+
# # If the job is triggered via cron schedule, tag nightly and nightly-{SHA}
57+
# # If the job is triggered via workflow dispatch and on a master branch, tag branch and latest
58+
# # Otherwise, just tag as the branch name
59+
# - name: Finalize Docker Metadata
60+
# id: docker_tagging
61+
# run: |
62+
# if [[ "${{ github.event_name }}" == 'schedule' ]]; then
63+
# echo "cron trigger, assigning nightly tag"
64+
# echo "docker_tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:nightly,${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:nightly-${GITHUB_SHA}" >> $GITHUB_OUTPUT
65+
# elif [[ "${GITHUB_REF##*/}" == "main" ]] || [[ ${GITHUB_REF##*/} == "master" ]]; then
66+
# echo "manual trigger from master/main branch, assigning latest tag"
67+
# echo "docker_tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${GITHUB_REF##*/},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest" >> $GITHUB_OUTPUT
68+
# else
69+
# echo "Neither scheduled nor manual release from main branch. Just tagging as branch name"
70+
# echo "docker_tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${GITHUB_REF##*/}" >> $GITHUB_OUTPUT
71+
# fi
72+
#
73+
# # Log docker metadata to explicitly know what is being pushed
74+
# - name: Inspect Docker Metadata
75+
# run: |
76+
# echo "TAGS -> ${{ steps.docker_tagging.outputs.docker_tags }}"
77+
# echo "LABELS -> ${{ steps.meta.outputs.labels }}"
78+
#
79+
# - name: Build and push foundry image
80+
# run: make DOCKER_IMAGE_NAME=${{ steps.docker_tagging.outputs.docker_tags }} CARGO_TAG_NAME=${{ inputs.tag_name }} PROFILE=maxperf docker-build-push
7881

79-
- name: Build and push foundry image
80-
run: make DOCKER_IMAGE_NAME=${{ steps.docker_tagging.outputs.docker_tags }} CARGO_TAG_NAME=${{ inputs.tag_name }} PROFILE=maxperf docker-build-push
82+
- name: Cleanup older images
83+
id: cleanup
84+
# Ensure this doesn't trigger on PR's
85+
if: github.event_name != 'pull_request'
86+
uses: actions/delete-package-versions@v5
87+
with:
88+
package-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
89+
package-type: 'container'
90+
min-versions-to-keep: 0
91+
delete-only-untagged-versions: 'true'

0 commit comments

Comments
 (0)