diff --git a/.gitea/workflows/build-deploy-game.yml b/.gitea/workflows/build-deploy-game.yml index 5e7d0bd..15a86da 100644 --- a/.gitea/workflows/build-deploy-game.yml +++ b/.gitea/workflows/build-deploy-game.yml @@ -80,8 +80,15 @@ jobs: npmrc=/tmp/.npmrc cache-from: | type=registry,ref=git.unom.io/${{ gitea.repository }}/api-core:cache + # mode=min: export only the final stage's layers. mode=max + # was re-uploading the bun-install cache mount (~40–60s) to + # the Gitea OCI registry on every push, even no-op deploys. + # Trade-off: a cold buildkitd will re-run `bun install` from + # scratch on the installer stage instead of importing it + # from registry cache — a few-second tax in exchange for + # not paying the export tax on every run. cache-to: | - type=registry,ref=git.unom.io/${{ gitea.repository }}/api-core:cache,mode=max + type=registry,ref=git.unom.io/${{ gitea.repository }}/api-core:cache,mode=min deploy-api-core: runs-on: ubuntu-24.04 @@ -196,8 +203,9 @@ jobs: npmrc=/tmp/.npmrc cache-from: | type=registry,ref=git.unom.io/${{ gitea.repository }}/web:cache + # See the api-core cache-to block above for the mode=min rationale. cache-to: | - type=registry,ref=git.unom.io/${{ gitea.repository }}/web:cache,mode=max + type=registry,ref=git.unom.io/${{ gitea.repository }}/web:cache,mode=min deploy-web: runs-on: ubuntu-24.04