Skip to content

ci(manager): boot the guest just built before uploading it - #17

Merged
LYJW131 merged 2 commits into
litefrom
ci/guest-boot
Nov 3, 2026
Merged

LYJW131 merged 2 commits into
litefrom
ci/guest-boot

Conversation

@LYJW131

@LYJW131 LYJW131 commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Runs amdl's guest boot test (AMDL-Web/apple-music-downloader#105) on the manager guest this workflow just built, before the artifact is uploaded. It fails unless the manager arguments reach init, the guest has network, its pinned payload downloads with the sha256 checked, and the manager answers /status. Without it a guest with mismatched kernel modules (fixed in #16) was uploaded and pinned; the test fails on that guest with the fault named.

The action reference points at the ci/gates branch of amdl until #105 is on dev; it switches to dev before this merges.

The test that the manager does not panic when the payload download fails already exists from #16 (TestPrepareWrapperRetriesUntilThePayloadArrives), so none is added.

🤖 Generated with Claude Code


Devin Review

build-guest only assembled the files. A guest whose kernel modules did not
match the kernel (no network, no fw_cfg arguments) was uploaded and pinned
by amdl, and only a real Mac showed it. The new step boots the guest in
QEMU with amdl's own code (AMDL-Web/apple-music-downloader's guestboot
action, which runs TestGuestBoot) and fails unless the manager arguments
reach init, the network is up, the pinned payload downloads with its digest
checked and the manager answers /status.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Signed-off-by: LYJW131 <153256373+LYJW131@users.noreply.github.com>

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 1 potential issue.

Devin Review

- name: Boot the guest
uses: AMDL-Web/apple-music-downloader/.github/actions/guestboot@ci/gates
with:
checkout: dev

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 Boot gate passes without booting guest

With checkout: dev, the action runs against a branch without TestGuestBoot. Its filtered go test succeeds with no matching test, so a broken guest can be uploaded.

Learn more

The external action is loaded from ci/gates, but its checkout input separately selects the amdl source branch for go test. At this revision, dev lacks TestGuestBoot; Go still exits successfully when a -run filter matches no tests. The upload step therefore runs without testing the built guest.

Example: A manager guest with nonworking network reaches this step. The action checks out dev, runs no boot test, returns success, and uploads that guest instead of rejecting it.

Recommended fix: Select ci/gates for checkout while the boot test exists only there. When moving to dev, verify that both the action and TestGuestBoot are present on that branch; make the action fail when the named test did not run.

Suggested change
checkout: dev
checkout: ci/gates

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Signed-off-by: LYJW131 <153256373+LYJW131@users.noreply.github.com>
@LYJW131
LYJW131 merged commit dad0468 into lite Nov 3, 2026
11 of 12 checks passed
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.

1 participant