base: yq follows latest (was pinned v4.53.3), gate on major v4

Match the repo's latest-following convention (tealdeer/uv/etc.) and keep the
container in sync with the Mac's brew yq. smoke-test now asserts mikefarah AND
major v4, so a surprise yq v5 fails CI instead of silently breaking
provision.sh. Pin still available via --build-arg YQ_VERSION=vX.Y.Z.
This commit is contained in:
pi
2026-06-25 16:33:27 +02:00
parent 9ab9a28458
commit cda488c565
3 changed files with 11 additions and 10 deletions
+5 -6
View File
@@ -19,12 +19,11 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`).
previously apt-installed `yq`, which on Debian/Ubuntu is the unrelated
kislyuk/`yq` (a jq wrapper, v3.x) — incompatible with the mikefarah v4 syntax
the `cloud-init` repo's `provision.sh`/`deploy.sh` expect. Dropped the apt
package and install a pinned mikefarah binary instead
(`ARG YQ_VERSION=v4.53.3`, multi-arch amd64/arm64, follows the repo's
tealdeer-style `latest`-or-pin pattern; override with `--build-arg`),
matching the `yq` used on control machines (Homebrew `yq` v4.x). The
build-time `smoke-test.sh` gate now asserts `yq --version` reports
`mikefarah`, so a regression back to the Python package fails CI.
package and install the mikefarah binary instead (multi-arch amd64/arm64,
following the repo's `latest` convention like `tealdeer`/`uv`; pin a tag
with `--build-arg YQ_VERSION=vX.Y.Z`). The build-time `smoke-test.sh` gate
asserts `yq --version` reports `mikefarah` **and** major **v4**, so both a
regression to the Python package and a surprise future yq v5 fail CI.
---