-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add retry to clean-up packages GitHub action
- Loading branch information
1 parent
0959ef9
commit 1ba4fd0
Showing
2 changed files
with
71 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
name: Delete stale images | ||
|
||
description: Delete stale images | ||
|
||
inputs: | ||
delay: | ||
description: Delay before running the action (in seconds) | ||
required: false | ||
default: "0" # seconds | ||
token: | ||
description: A Github PAT token to fetch repository and delete packages (needs delete:packages permissions). | ||
required: true | ||
|
||
runs: | ||
using: composite | ||
steps: | ||
- name: Delay # needed in case of retry to avoid triggering the rate limit of the Github API | ||
if: ${{ inputs.delay != '0' }} | ||
shell: bash | ||
run: | | ||
sleep ${{ inputs.delay }} | ||
- name: Delete older than a month vnext images | ||
uses: snok/container-retention-policy@v2 | ||
with: | ||
image-names: device/* | ||
cut-off: One month ago UTC | ||
account-type: org | ||
org-name: plgd-dev | ||
filter-tags: vnext-* | ||
skip-tags: main | ||
token: ${{ inputs.token }} | ||
|
||
- name: Set up Docker Buildx for delete untagged images action | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Login to GitHub Container Registry for delete untagged images action | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ inputs.token }} | ||
|
||
- name: Delete untagged images with no dependency | ||
uses: Chizkiyahu/delete-untagged-ghcr-action@v3 | ||
with: | ||
repository: ${{ github.repository }} | ||
repository_owner: ${{ github.repository_owner }} | ||
token: ${{ inputs.token }} | ||
owner_type: org | ||
untagged_only: true | ||
except_untagged_multiplatform: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,42 +1,34 @@ | ||
name: Delete old ghcr images | ||
on: | ||
schedule: | ||
- cron: "15 1 * * *" # every day at 1:15am | ||
- cron: "0 1 * * *" # every day at 1:00am | ||
workflow_dispatch: | ||
|
||
jobs: | ||
ghcr-cleanup: | ||
if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }} | ||
name: Delete old vnext images | ||
name: Delete stale or untagged images | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Delete older than a month vnext images | ||
uses: snok/container-retention-policy@v2 | ||
- name: Checkout local actions | ||
uses: actions/checkout@v4 | ||
- name: Delete stale or untagged images (1) | ||
id: run-1 | ||
continue-on-error: true | ||
uses: ./.github/actions/cleanup-stale | ||
with: | ||
image-names: device/* | ||
cut-off: One month ago UTC | ||
account-type: org | ||
org-name: plgd-dev | ||
filter-tags: vnext-* | ||
skip-tags: main,latest | ||
token: ${{ secrets.GHCR_CLEANUP_PAT }} | ||
|
||
- name: Set up Docker Buildx for delete untagged images action | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Login to GitHub Container Registry for delete untagged images action | ||
uses: docker/login-action@v3 | ||
- name: Delete stale or untagged images (2) | ||
id: run-2 | ||
if: ${{ steps.run-1.outcome == 'failure' }} | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GHCR_CLEANUP_PAT }} | ||
|
||
- name: Delete untagged images with no dependency | ||
uses: Chizkiyahu/delete-untagged-ghcr-action@v3 | ||
token: ${{ secrets.GHCR_CLEANUP_PAT }} | ||
delay: 60 | ||
continue-on-error: true | ||
uses: ./.github/actions/cleanup-stale | ||
- name: Delete stale or untagged images (3) | ||
if: ${{ steps.run-2.outcome == 'failure' }} | ||
uses: ./.github/actions/cleanup-stale | ||
with: | ||
repository: ${{ github.repository }} | ||
repository_owner: ${{ github.repository_owner }} | ||
token: ${{ secrets.GHCR_CLEANUP_PAT }} | ||
owner_type: org | ||
untagged_only: true | ||
except_untagged_multiplatform: true | ||
delay: 60 |