Skip to content

Container Image Cleanup #5231

Container Image Cleanup

Container Image Cleanup #5231

Workflow file for this run

name: Container Image Cleanup
on:
pull_request:
types:
- closed
schedule:
# At minute 0 on every day-of-week from Monday through Friday.
# https://crontab.guru/#0_*_*_*_1-5
- cron: '0 * * * 1-5'
workflow_dispatch:
inputs:
cut-off:
required: false
type: string
description: |
The timezone-aware datetime you want to delete container versions that are older than.
The parsed datetime must contain a timezone.
The `dateparser` is ued to parse the cut-off specified. See: [dateparser](https://dateparser.readthedocs.io/en/latest/)
default: '14 days ago UTC'
dry-run:
required: false
type: boolean
description: Prints output showing images which would be deleted but does not actually delete any images.
default: true
env:
images: vmclarity-apiserver-dev,vmclarity-orchestrator-dev,vmclarity-cli-dev,vmclarity-ui-backend-dev,vmclarity-ui-dev
permissions:
packages: write
jobs:
pull-request:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
name: Cleanup container images for Pull Request
steps:
- name: Remove images for PR#${{ github.event.pull_request.number }}
uses: snok/container-retention-policy@b56f4ff7539c1f94f01e5dc726671cd619aa8072 # v2.2.1
with:
image-names: ${{ env.images }}
cut-off: 1 second ago UTC
timestamp-to-use: created_at
account-type: org
org-name: openclarity
token: ${{ secrets.PAT }}
filter-tags: ${{ format( 'pr{0}-*', github.event.pull_request.number) }}
dry-run: false
schedule:
if: github.event_name == 'schedule'
runs-on: ubuntu-latest
name: Cleanup stale container images
steps:
- name: Remove stale images
uses: snok/container-retention-policy@b56f4ff7539c1f94f01e5dc726671cd619aa8072 # v2.2.1
with:
image-names: ${{ env.images }}
cut-off: 7 days ago UTC
timestamp-to-use: created_at
account-type: org
org-name: openclarity
token: ${{ secrets.PAT }}
filter-include-untagged: true
dry-run: false
dispatch:
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
name: Cleanup stale container images
steps:
- name: Remove stale images
uses: snok/container-retention-policy@b56f4ff7539c1f94f01e5dc726671cd619aa8072 # v2.2.1
with:
image-names: ${{ env.images }}
cut-off: ${{ inputs.cut-off }}
timestamp-to-use: created_at
account-type: org
org-name: openclarity
token: ${{ secrets.PAT }}
filter-include-untagged: true
dry-run: ${{ inputs.dry-run }}