Repository navigation
ci: build, smoke-test and publish the Xiongmai openipc-xm images - #14
Conversation
build-xm.yml has build-hisilicon.yml's shape: resolve the openipc-xm revision once, build xm510/xm530/xm550 one per leg with the 256 KiB NOR fit check, build qemu-hisilicon once, smoke-test every image, then release (own `xiongmai` tag) and publish (OpenIPC/firmware latest plus the openipc.org report) on dispatch only. Every SoC has a qemu-hisilicon machine, so none is held. The smoke test boots each NOR image in place from an 8 MiB flash image twice, with the part powering up under the per-block protection Xiongmai bootloaders leave on (xm-sfc.wps): it passes on the autoboot prompt, and fails if the second boot finds a bad environment CRC -- the first boot's saveenv dropped because the driver did not clear the protection. Checked locally with the smoke script as written, against qemu-hisilicon with u-boot#150. The pull_request trigger is limited to changes to this file, so other openipc pull requests do not start the xiongmai matrix. publish shares build-hisilicon's concurrency group; openipc.org keeps the newest uboot build per file name, so the two workflows' pushes do not displace each other's files. README and CLAUDE.md describe the openipc-xm branch and the workflow.
PR Summary by QodoBuild, smoke-test, and publish Xiongmai U-Boot images
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
Code Review by Qodo
1.
|
…sh fill - The partition-fit check compares bytes: dividing by 1024 first let an image up to 1023 bytes past 256 KiB through, into the environment. - The erased 8 MiB flash image comes from a finite dd | tr, not an infinite tr cut off by head, which dies of SIGPIPE under pipefail.
Adds
build-xm.ymlfor the newopenipc-xmbranch (#13), the same shape asbuild-hisilicon.yml:resolve→build(xm510/xm530/xm550, NOR fit check ≤ 256 KiB) →qemu→qemu_smoke→release/publish. Release and publish run on dispatch only.hold: every SoC has a qemu-hisilicon machine, so every image is smoke-tested and gated.xm-sfc.wps, qemu-hisilicon#150).Hit Ctrl-C.saveenvwas dropped because the driver didn't clear the protection.releaseuploads to a newxiongmaitag.publishuploads to OpenIPC/firmwarelatest(nou-boot-xm*names there today) and reports--source ubootto openipc.org with auboot-xm-…build id, sharing hisilicon's concurrency group.pull_requestruns only when this workflow file changes, so otheropenipcPRs don't start the xiongmai matrix.Checked locally: the smoke script as written passes on all three SoCs against qemu-hisilicon master. This PR's own run builds the current
openipc-xm.