Archived
Public Access
actions/cache's post-save is gated by post-if: success(), so the failing publish step discarded the compile cache on every run — each build started cold. Split into actions/cache/restore + actions/cache/save, with the save placed right after the build and gated on !cancelled(), so the valid compiler cache is persisted whether or not publish (or any later step) fails. Skips only on cancellation, to avoid bloating the cache with half-built runs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>