Skip to content

ci: add cv200_neo + av100_neo qemu-boot matrix rows#174

Merged
widgetii merged 1 commit into
mainfrom
feat/ci-cv200-av100-neo-qemu-rows
May 22, 2026
Merged

ci: add cv200_neo + av100_neo qemu-boot matrix rows#174
widgetii merged 1 commit into
mainfrom
feat/ci-cv200-av100-neo-qemu-rows

Conversation

@widgetii
Copy link
Copy Markdown
Member

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

  • New optional variant: field per matrix row. Defaults to lite (download URL becomes openipc.X-nor-lite.tgz, behavior byte-equivalent to today). When set to neo:
    • row name becomes QEMU boot (<machine>_neo)
    • download URL becomes openipc.<machine>-nor-neo.tgz
    • artifact upload name becomes qemu-boot-<machine>_neo
  • Two new rows added: hi3516cv200_neo (mem 64M) and hi3516av100_neo (mem 256M). Both allow-failure: true until two upstream conditions land.

Why allow-failure for now

  1. Nightly catch-up: the firmware-side artifact loop already iterates defconfigs, so the next nightly after #2122 will publish openipc.hi3516cv200-nor-neo.tgz + openipc.hi3516av100-nor-neo.tgz. Until then, the rows 404 on the download step.
  2. load_hisilicon not 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, so lsmod stays empty and the min_modules check (if we set one) would fail. Boot still reaches login: 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:

hi3516cv200_neo  → login + DHCP + ping (4.218 ms)
hi3516av100_neo  → login + DHCP + ping (2.728 ms, via hisi_higmac)

Existing lite rows unchanged (variant field defaults to lite).

Test plan

  • YAML parses cleanly (python3 -c yaml.safe_load)
  • Existing lite rows still produce qemu-boot-<machine> artifact names (no breaking change)
  • New neo rows 404 on first run (nightly hasn't published yet) — expected; resolves on next nightly
  • After nightly: rows produce qemu-boot-<machine>_neo artifacts, hit login prompt, allow-failure passes

Related

🤖 Generated with Claude Code

…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>
@widgetii widgetii merged commit 2c83781 into main May 22, 2026
28 of 30 checks passed
widgetii added a commit that referenced this pull request May 22, 2026
…2123 from firmware) (#174)" (#175)

This reverts commit 2c83781.

Co-authored-by: Vasiliy Yakovlev <vixand@openipc.org>
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.

Add CI matrix rows for hi3516cv200_neo + hi3516av100_neo (qemu-boot smoke)

2 participants