Commit graph

4 commits

Author SHA1 Message Date
Ashwin Kumar Sivakumar
2025d912a5 fix(ci): sort registry prune by real image build time, protect current SHA
All checks were successful
build-and-release / build (push) Successful in 1m24s
registry_prune.py sorted candidate tags by the manifest GET response's
Date header - which is just "now", the moment the prune script made
that request - not when the image was actually built. Every tag it
queries in the same prune run lands within the same second, so the
"sort by age" was effectively random. On run #56 this deleted the tag
this same CI run had just pushed (4efe848, digest 60114dea) seconds
after pushing it, and seconds before the gitops step committed a
deployment pointing at that now-deleted digest - the cluster then
sat in ImagePullBackOff since the referenced image no longer existed.

Now reads the real "created" timestamp from the image's config blob
(resolving through a manifest list/index if the tag is multi-platform),
and always protects the current run's own SHA from deletion regardless
of sort order, as defense in depth against any remaining timestamp edge
cases.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-17 05:37:14 +05:30
Ashwin Kumar Sivakumar
18759f9670 fix(ci): deploy frontend via immutable gitops release
Some checks failed
build-and-release / build (push) Failing after 5s
2026-06-14 05:52:50 +05:30
Ashwin Kumar Sivakumar
494384e6c6 fix: use kaniko for forgejo image builds
Some checks failed
build-and-push / build (push) Failing after 14s
2026-06-12 22:55:00 +05:30
Ashwin Kumar Sivakumar
c8ecb6bf81 chore: migrate ci naming to forgejo 2026-06-11 17:17:42 +05:30