ci: add cv200_neo + av100_neo qemu-boot matrix rows#174
Merged
Conversation
…m firmware) OpenIPC/firmware#2123 tracks the absence of qemu-smoke CI for the new V2/V2A neo targets that landed in #2122. Add two rows to the existing qemu-boot matrix, plumb a `variant` field so the row name and the firmware-tarball URL distinguish lite (default) from neo, and gate both new rows allow-failure: true until: 1. The next nightly publishes openipc.hi3516cv200-nor-neo.tgz and openipc.hi3516av100-nor-neo.tgz (immediately after firmware #2122 — the firmware-side artifact loop already iterates all defconfigs). 2. The firmware-side load_hisilicon script learns the kernel 7.0 module path (currently hardcodes /lib/modules/4.9.37/hisilicon, so lsmod stays empty on neo — boot still reaches login). Matrix-row mechanics: - `variant` defaults to lite. Rows that don't set it stay byte-equivalent (download URL becomes openipc.X-nor-lite.tgz). - When `variant: neo` is present: * row name becomes "QEMU boot (<machine>_neo)" * download URL becomes openipc.<machine>-nor-neo.tgz * upload-artifact name becomes "qemu-boot-<machine>_neo" - Append + mem settings mirror the existing lite rows for the same machine (cv200: 64M, av100: 256M). Locally verified end-to-end: both cv200_neo and av100_neo tarballs from the merged firmware tree boot to login, eth0 gets DHCP from SLIRP, and ping 10.0.2.2 succeeds in QEMU. Production HiSi-module load is gated on follow-up firmware load_hisilicon work — won't gate this row green; allow-failure handles the transition. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 22, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes OpenIPC/firmware#2123. Adds two new rows to the
qemu-boot:matrix so the V2/V2A neo targets that landed in OpenIPC/firmware#2122 get smoke-tested every PR / merge to main.Mechanics
variant:field per matrix row. Defaults tolite(download URL becomesopenipc.X-nor-lite.tgz, behavior byte-equivalent to today). When set toneo:QEMU boot (<machine>_neo)openipc.<machine>-nor-neo.tgzqemu-boot-<machine>_neohi3516cv200_neo(mem 64M) andhi3516av100_neo(mem 256M). Bothallow-failure: trueuntil two upstream conditions land.Why allow-failure for now
openipc.hi3516cv200-nor-neo.tgz+openipc.hi3516av100-nor-neo.tgz. Until then, the rows 404 on the download step.load_hisiliconnot yet 7.0-aware: the firmware-side script hardcodes/lib/modules/4.9.37/hisilicon— on a 7.0 kernel that path doesn't exist, solsmodstays empty and themin_modulescheck (if we set one) would fail. Boot still reacheslogin:cleanly. Separate firmware-side fix.Drop allow-failure once both land. Same pattern as cv300_neo's row went through.
Verification
Local QEMU smoke matches what CI will run, against the *_neo tarballs produced by PR #2122:
Existing lite rows unchanged (variant field defaults to lite).
Test plan
python3 -c yaml.safe_load)qemu-boot-<machine>artifact names (no breaking change)qemu-boot-<machine>_neoartifacts, hit login prompt, allow-failure passesRelated
🤖 Generated with Claude Code