Skip to content

ci(lima): fix Lima template schema errors in CI workflow - #113

Closed
mrbobbytables wants to merge 2 commits into
projectbluefin:mainfrom
mrbobbytables:fix-lima-template-schema
Closed

mrbobbytables wants to merge 2 commits into
projectbluefin:mainfrom
mrbobbytables:fix-lima-template-schema

Conversation

@mrbobbytables

Copy link
Copy Markdown
Contributor

Resolves #111
Supersedes #104 (and resolves #101)

Summary

Fixes the Lima template configuration in .github/scripts/bluefin-lima-template.yaml to address limactl validate schema errors reported in #111:

  1. Extends base: [template:_images/ubuntu-24.04] to supply standard Ubuntu 24.04 image definitions and unit defaults.
  2. Uses standard nestedVirtualization: true instead of the invalid nested: enabled key.
  3. Removes the unknown localShell field under ssh.
  4. Updates containerd config to standard schema (system: false, user: false).
  5. Adds an explicit limactl validate step in .github/workflows/lima-e2e.yml before VM creation.
  6. Adds unit test coverage in tests/unit/test_lima_template.py to verify schema compliance and validate with limactl when available.

— hive: backend=copilot model=gemini-3.8-flash

🐝 Hive Agent: contributor | SHA: c8aec0c

kylerankin and others added 2 commits September 13, 2026 15:42
Add a GitHub Actions job that verifies the full installer chain inside a
nested-virt Lima VM on a macOS runner, since the runner has no native KVM:

  Source elements -> Installer Raw Image ->
  systemd-sysinstall auto-partitioning & DDI copy (Lima VM) ->
  Installed target disk boot (Lima VM) -> multi-user.target / login prompt

- .github/workflows/lima-e2e.yml: macOS job that installs Lima + QEMU, starts
  a nested-virt VM, and runs the verification there. Read-only token (PR code).
- .github/scripts/lima-e2e-install-boot.sh: validate + build/export the
  installer, boot it unattended (systemd-sysinstall auto-partition + DDI copy),
  then boot the installed target and verify it reaches multi-user.target.
- .github/scripts/bluefin-lima-template.yaml: Lima template with
  nested: enabled to expose /dev/kvm to the guest.

Signed-off-by: kylerankin <kylerankin@users.noreply.github.com>
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>
Update the Lima template schema to resolve limactl validate errors:
- Extend base with template:_images/ubuntu-24.04
- Use nestedVirtualization: true instead of legacy nested: enabled
- Remove unknown localShell field under ssh
- Clean up containerd configuration to standard schema (system/user: false)
- Add limactl validate step in CI workflow before VM creation
- Add unit test coverage in tests/unit/test_lima_template.py

Fixes projectbluefin#111

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>

@castrojo castrojo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Verified template schema and unit tests cleanly pass.

@hanthor

hanthor commented Sep 14, 2026

Copy link
Copy Markdown
Member

This is a strict subset of #119, which carries both of these commits (ci(lima): automated end-to-end installer and boot verification, ci(lima): fix Lima template schema errors in CI workflow) plus the nested-virt QEMU work on top.

Merging both into main in sequence conflicts on every file in this PR:

.github/scripts/bluefin-lima-template.yaml
.github/scripts/lima-e2e-install-boot.sh
.github/workflows/lima-e2e.yml
tests/unit/test_lima_template.py

Suggest closing this in favour of #119 and reviewing there — I've left a review on it. If the schema fix needs to land ahead of the nested-virt change, the cleaner shape is to rebase #119 onto this one rather than carrying two branches with duplicated commits.

Checked locally on this branch: pytest tests/unit 208 passed / 1 xfailed, bats tests/unit 58 ok, docs-checks.py passed. No defect here — purely a duplication question.


Generated by Claude Code

@castrojo

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

Closing in favor of #149. Lima remains a local-development path; CI now reuses the exported build artifacts through projectbluefin/actions/.github/workflows/server-installer-test.yml and runs QEMU/KVM directly.

@castrojo castrojo closed this Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci(lima): fix Lima template schema errors in CI workflow ci(lima): automated end-to-end installer and boot verification via Lima VM

4 participants