b3541ba6f3
Build and Deploy Verso / deploy (push) Successful in 12m40s
Two build-speed changes to the Gitea Actions deploy workflow. (#1) Build the base image only when it changes. The base layers' only repo input is server-ce/Dockerfile-base, so the prepare step hashes that file and the base is tagged verso-base:base-<hash>; the app builds FROM that exact tag. If a base with the current hash already exists in the registry, the heavy base build (apt ~111s, TeX Live ~51s, Quarto, plus its ~49s export/push) is skipped entirely — which is every commit that doesn't touch Dockerfile-base. (#2) Import/export a registry-backed layer cache (verso-cache:base and verso-cache:app, mode=max) on both builds. Unchanged layers are reused instead of rebuilt: yarn install is skipped when package.json is unchanged, and only the web compile re-runs on a frontend source change. No new cluster resources — the cache lives as extra tags in the same in-cluster registry. First run after this is still a full build (populates the caches and the hash-tagged base); subsequent commits should be substantially faster. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>