For every repository:
-
Images updated less than 1 day ago are kept
-
Images updated more than 1 year ago are deleted
-
Images with
org.opencontainers.image.version
label matching existing tags/branches or open pull requests are kept -
Everything else is deleted
It seems that GitHub API pagination can "skip" a branch/tag/pull request if another branch/tag/PR is deleted concurrently.
However, we mostly care about tags. Images for branches and pull requests are not as precious and can be rebuilt if necessary.
Tags should never be deleted - so this isn't a real issue.