Skip to content

ci: deploy the SD-card image in the Build workflow#261

Open
daniel-rossier wants to merge 3 commits into
mainfrom
ci-deploy-phase
Open

ci: deploy the SD-card image in the Build workflow#261
daniel-rossier wants to merge 3 commits into
mainfrom
ci-deploy-phase

Conversation

@daniel-rossier

Copy link
Copy Markdown
Contributor

The Build workflow only compiled the kernel and user space — the deploy path was never exercised in CI.

This adds a second step that runs build.sh bsp-so3 then deploy.sh bsp-so3 for both virt32 and virt64, so CI also covers FIT assembly and writing the SD-card image (rootfs populated via loop-mount).

  • Deploy needs a privileged container (losetup/mkfs/mount via sudo -n), so the new step uses --privileged -v /dev:/dev. The existing build step stays non-privileged.
  • Reuses the artifacts from the build step (same mounted /so3 volume).

⚠️ Watch the first CI run: if so3-env lacks any privileged deploy tool (parted/dosfstools/mtools/losetup), the step will surface it — we'd then add those to the image (or the step).

The Build workflow only compiled the kernel and the user space, so the
deploy path (FIT assembly + loop-mounting and populating the rootfs +
writing the SD-card image) was never exercised in CI. Add a second step
that runs `build.sh bsp-so3` then `deploy.sh bsp-so3` for both virt32 and
virt64. Deploy needs a privileged container (losetup/mkfs/mount via
sudo -n), so the step runs with --privileged and -v /dev:/dev; the
existing build step stays non-privileged.
The default local.conf uses IB_BOOT_CHAIN="full" (ATF + OP-TEE + AVZ),
and the AVZ recipe fetches from a local dev path, so `build.sh bsp-so3`
pulls avz:do_fetch and fails on any machine other than the maintainer's
(including CI). Override IB_BOOT_CHAIN="uboot" in the deploy step so it
still exercises FIT assembly + the privileged rootfs loop-mount + SD-card
write, without requiring ATF/OP-TEE/AVZ.
bsp-so3:do_deploy writes into filesystem/work/sdcard.img.<plat>, which is
created by the privileged `filesystem` recipe (losetup/mkfs/parted), not by
`build.sh bsp-so3`. Run `build.sh -x filesystem` before `deploy.sh bsp-so3`,
matching the canonical deploy sequence used by the lv_perf image.
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