fix(lima): correct Lima e2e template schema for limactl validate - #174
kylerankin wants to merge 2 commits into
Conversation
The lima-e2e installer + boot verification job (PR projectbluefin#104) failed `limactl validate` with three schema errors: - unknown field "localShell" under ssh -> drop the ssh block entirely - field "images" must be set -> extend base: [template:_images/ubuntu-24.04], which supplies the required images and resolves the arch - invalid CPU/memory unit parsing when the template base is missing -> resolved once the base template is present Also replace the removed `nested: enabled` field with the standard Lima `nestedVirtualization: true` so /dev/kvm is exposed to the guest for the qemu-system-x86_64 -enable-kvm boots the e2e script performs. Add a contract test asserting the template uses the standard Lima schema. Assisted-by: lemonade/Ornith-1.5-35B-A3B-GGUF-Q6_K via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: kylerankin <kylerankin@users.noreply.github.com>
`limactl validate` (Lima 2.2.0, the version CI installs) still rejected two keys in the e2e template: [24:3] unknown field "guest" [15:1] unknown field "name" Lima's containerd block takes `system` and `user`, not `guest` — the repo's canonical template already uses `user: false` (files/lima/bluefin-server-kiosk.yaml:20). Lima templates have no top-level `name`; the instance name comes from `limactl create --name bluefin-server-e2e` in .github/workflows/lima-e2e.yml. `limactl validate .github/scripts/bluefin-lima-template.yaml` now reports OK with no non-strict-YAML warnings. Assisted-by: Claude Opus 4.6 via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Closing. I pushed the one fix that was genuinely in scope, and the remaining blocker is an architecture decision about runner platform that I should not make for you — compounded by the fact that this job duplicates one we already have. What I fixed and verified. The PR's stated goal was to make the template pass What that did not fix, and cannot. The fresh run after my push (35371853548) still fails at step 5, "Start Lima VM with nested virtualization":
That is not a rebase or a lint fix. It needs either an x86_64 runner with nested virt — which GitHub-hosted macOS does not provide — or moving the whole thing to the ghost cluster. I deliberately did not flip Two reasons the arch question may be the wrong one to answer.
One correction for the record. The PR body says the template was "introduced in PR #104" and that Also worth knowing: Please reopen if you want to pursue this on the ghost cluster, or push back here if you think the duplication argument is wrong — it is a judgement call and I would rather discuss it than have it closed silently. The |
Fixes #111.
limactl validatefailed on the lima-e2e installer + boot verification template(
.github/scripts/bluefin-lima-template.yaml, introduced in PR #104) with threeschema errors:
unknown field "localShell"underssh— drop thesshblock entirely.field "images" must be set— extendbase: [template:_images/ubuntu-24.04],which supplies the required
imagesand resolves the guest arch.once the base template is present.
Also replace the removed
nested: enabledfield with the standard LimanestedVirtualization: trueso/dev/kvmis exposed to the guest for theqemu-system-x86_64 -enable-kvmboots the e2e script performs.This delivers the corrected lima-e2e installer + boot verification workflow and
script (which were not present on
main) alongside the fixed template, and adds acontract test asserting the template uses the standard Lima schema.
— hive: backend=pi model=lemonade/Ornith-1.5-35B-A3B-GGUF-Q6_K