boozallen / aissemble

Booz Allen's lean manufacturing approach for holistically designing, developing and fielding AI solutions across the engineering lifecycle from data processing to model building, tuning, and training to secure operational deployment
Other
32 stars 8 forks source link

Feature: Adjust GitHub prune workflow so that it doesn't delete multi-arch release images #270

Closed chang-annie closed 2 weeks ago

chang-annie commented 1 month ago

Description

The Github prune action which clears out our older Docker images is too aggressive and as a result, the release images are being deleted.

This ticket is to adjust the workflow so that the multi-arch release images are no longer being deleted as part of the prune process.

DOD

Acceptance criteria required to realize the requested feature

Test Strategy/Script

OTS:

Final Test:

References/Additional Context

Container retention policy doc

chang-annie commented 1 month ago

DOD completed with @ewilkins-csi

chang-annie commented 3 weeks ago

Some interesting findings:

When trying to pull on the manifest SHA for the 1.8.0 release images, we cannot simply use something like:

docker buildx imagetools inspect ghcr.io/boozallen/aissemble-spark:1.8.0 --format "{{json .Manifest}}" | jq -r .digest

This will output:

ERROR: failed to copy: httpReadSeeker: failed open: content at https://ghcr.io/v2/boozallen/aissemble-spark/manifests/sha256:c0ea773c38265bf3a80a133211aba2468dec87b8ce5b341d82611e2c81252147 not found: not found

Where the aforementioned SHA is connected to the build attestations. These are created because we have buildx's provenance set to min aka not false (default setting). This creates two extra manifests in the manifest list with os: unknown and architecture: unknown. You can further inspect those manifests to retrieve basic provenance info.

chang-annie commented 3 weeks ago

OTS completed with @carter-cundiff and @jaebchoi

ewilkins-csi commented 2 weeks ago

OTS passed ✅

J-Clingerman commented 2 weeks ago

All tests passed. ✅

chang-annie commented 2 weeks ago

Reopening so we can test the fix to address docker images with no release versions (which is adding an extra comma at the front of our exclude-tags parameter - e.g., exclude-tags: ,1.7.0,1.8.0)

cwoods-cpointe commented 2 weeks ago

Final test: Passed. Did not delete any release version or the 2 latest dev versions.