The publish workflow's docker-build step for the operator image was
spending ~2 minutes of every run exporting cache to GHA (per build
log: `sending cache export 88.3s done`, total step 3m37s). The
`golang:1.24` base + builder-stage layers were being uploaded to GHA
cache on every push because `cache-to` was hardcoded to `mode=max`.
Changes:
- Add `cacheMode` to `DockerConfig` (defaults to `max` — the Python
images still benefit from caching every intermediate stage).
- Plumb it through `DockerBuildAction` and into the `--cache-to`
flag in `_execute_docker_build`.
- Always emit `compression=zstd` and `ignore-error=true` on the
cache-to directive: smaller blobs to upload, and a flaky cache
push no longer fails a build whose image is already on the registry.
- Set `"cacheMode": "min"` on `operator/package.json`. The operator
is a tiny static Go binary in distroless; caching the golang base
+ module download layers costs more upload time than the rebuild
saves.
Co-authored-by: Claude <noreply@anthropic.com>
* fix(ci): publish operator image and push tags explicitly
- Mark llama-agents-operator as non-private so the release pipeline
includes its docker image in the publish plan.
- Replace 'git push --tags' (which silently reported 'Everything
up-to-date' and left new tags on the local runner) with an explicit
verbose push of the tags created by 'changeset tag' at HEAD.
Previously 'dev.py down --target docker-desktop' failed because the
Tiltfile defaulted to 'kind-kind' regardless, and the --target flag had
to come before the subcommand. Forward the target positional arg to
'tilt down' (matching 'tilt up'), and allow --target on each subcommand
so it works in either position.
Support running the Tilt dev environment against Docker Desktop's
built-in Kubernetes in addition to kind. Pass --target=docker-desktop
to dev.py or tilt up to use it.