From 44cdb56cb66931f77f0baea22fd281e538d44b85 Mon Sep 17 00:00:00 2001 From: LYJW131 <153256373+LYJW131@users.noreply.github.com> Date: Tue, 3 Nov 2026 15:12:46 +0800 Subject: [PATCH 1/2] ci(manager): boot the guest just built before uploading it 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 Signed-off-by: LYJW131 <153256373+LYJW131@users.noreply.github.com> --- .github/workflows/manager.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/manager.yml b/.github/workflows/manager.yml index 62702e3..6cb6748 100644 --- a/.github/workflows/manager.yml +++ b/.github/workflows/manager.yml @@ -67,6 +67,17 @@ jobs: ./guest/build.sh dist-guest CREATE_DATA_IMG=1 ./guest/build.sh dist-guest + # Boots the guest just built in QEMU the way amdl's desktop app does, + # with amdl's own code (internal/wrapperhost, TestGuestBoot): the manager + # arguments must reach init, the guest must have network, download its + # pinned payload with the digest checked, and the manager must answer + # /status. A guest that does not is never uploaded for amdl to pin. + - name: Boot the guest + uses: AMDL-Web/apple-music-downloader/.github/actions/guestboot@ci/gates + with: + checkout: dev + guest-dir: ${{ github.workspace }}/manager/dist-guest + - name: Upload guest assets uses: actions/upload-artifact@v4 with: From f84c2d1b4ae638e8ca1d80735c903459becd246d Mon Sep 17 00:00:00 2001 From: LYJW131 <153256373+LYJW131@users.noreply.github.com> Date: Tue, 3 Nov 2026 15:19:53 +0800 Subject: [PATCH 2/2] ci(manager): use the guest boot action from amdl's dev branch Co-Authored-By: Claude Sonnet 5.5 Signed-off-by: LYJW131 <153256373+LYJW131@users.noreply.github.com> --- .github/workflows/manager.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/manager.yml b/.github/workflows/manager.yml index 6cb6748..2afee9f 100644 --- a/.github/workflows/manager.yml +++ b/.github/workflows/manager.yml @@ -73,7 +73,7 @@ jobs: # pinned payload with the digest checked, and the manager must answer # /status. A guest that does not is never uploaded for amdl to pin. - name: Boot the guest - uses: AMDL-Web/apple-music-downloader/.github/actions/guestboot@ci/gates + uses: AMDL-Web/apple-music-downloader/.github/actions/guestboot@dev with: checkout: dev guest-dir: ${{ github.workspace }}/manager/dist-guest