mirror of
https://github.com/OPM/ResInsight.git
synced 2026-11-02 20:30:46 -06:00
Store RHEL8 image layer cache in GHCR instead of the Actions cache
The nightly image build has failed since 2026-07-23 with "failed to solve: not_found" while exporting the BuildKit layer cache, because the repository's GitHub Actions cache is at the 10 GB limit and entries are evicted as fast as they are written (0% cache hit rate on restore). Use a registry cache (ci-rhel8:buildcache in GHCR) instead, which has no size cap, and exclude the buildcache tag from the daily image cleanup. Make the cache effective across nightly rebuilds: key the vcpkg stage on its actual inputs (vcpkg.json, the vcpkg configuration and the vcpkg tool) with a direct manifest install instead of copying the entire build context, and exclude .git from the Docker build context since its internals differ between checkouts of the same commit and invalidated 'COPY . /src' on every run. Nightly builds now reuse the compiled vcpkg ports from the layer cache and only recompile the ResInsight warmup stage.
This commit is contained in:
1 parent
87518f2f2f
commit
4b4bf29dfc
4 files changed
+38
-25
No files matched your search
@@ -3,6 +3,14 @@
|
||||
# Docker contexts -- this file is the canonical list of paths excluded from
|
||||
# `COPY . /src` (used by .github/docker/Dockerfile.rhel8).
|
||||
|
||||
# Git metadata. The in-image build does not need it (the CMake submodule init
|
||||
# is guarded by EXISTS .git, and the submodule working trees are already in
|
||||
# the context), and its internals (index, packfiles, reflogs) differ between
|
||||
# checkouts of the same commit, which would invalidate the BuildKit layer
|
||||
# cache for `COPY . /src` on every nightly image build.
|
||||
.git
|
||||
**/.git
|
||||
|
||||
# Local CMake build outputs (host-side; can be tens of GB).
|
||||
build/
|
||||
build_*/
|
||||
|
||||
Reference in new issue
Block a user