Skip to content

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

@widgetii

Description

@widgetii

Context

PR #2122 lands two new firmware targets (hi3516cv200_neo, hi3516av100_neo) that build cleanly and pass a local QEMU smoke (login + DHCP + ping). But the PR explicitly does not add CI matrix rows because the existing cv500/cv300 qemu-smoke jobs were already gated allow-failure: true for unrelated firmware-side bugs, and adding rows mid-merge tends to cause re-runs that mask real regressions.

What to add

In .github/workflows/... (the build matrix that drives the openhisilicon-side qemu-boot job is in OpenIPC/openhisilicon/.github/workflows/build.yml; firmware-side artifact production is in this repo).

openhisilicon-side qemu-boot matrix

Add two rows to the existing qemu-boot: job in OpenIPC/openhisilicon/.github/workflows/build.yml:

- machine: hi3516cv200
  firmware: hi3516cv200  # or hi3516cv200-neo if we ship neo artifacts to a separate tarball
  mem: 64M
  variant: neo
  append: "console=ttyAMA0,115200 mem=32M root=/dev/ram0 rootfstype=squashfs"

- machine: hi3516av100
  firmware: hi3516av100
  mem: 256M
  variant: neo
  append: "console=ttyAMA0,115200 mem=32M root=/dev/ram0 rootfstype=squashfs"

The firmware field drives which nightly tarball to download. Today the firmware repo only publishes openipc.hi3516cv200-nor-lite.tgz style names. Two paths:

  1. Tag-suffix the neo tarballs: openipc.hi3516cv200-nor-neo.tgz, etc., in the release-publish step. The build already produces these (the local build that landed PR hi3516cv200_neo + hi3516av100_neo: V2/V2A modern-kernel firmware targets #2122 produces exactly this filename).
  2. Per-row firmware filename override: extend the matrix schema with an explicit tarball: field.

Firmware-side artifact production

Confirm that the nightly release publishes both -nor-lite.tgz and -nor-neo.tgz for cv200 + av100 once PR #2122 lands. Check the build-and-publish workflow's variant loop.

DoD for the new rows

Same as cv300_neo / ev300_neo today:

  • Boot under qemu-hisilicon
  • Reach openipc-<chip> login: prompt
  • S99lsmodprobe runs and emits ===CI:HISI_MOD_COUNT===N=== for N >= 5 (or whatever threshold suits — V2/V2A loads fewer modules than V4)
  • No Oops:, panic:, BUG:, Call Trace, Unable to handle in serial console

cv200_neo + av100_neo can start allow-failure: true (mirroring cv300_neo today) since the firmware-side load_hisilicon path is still wired to 4.9 kernel paths. Once that lands, drop allow-failure.

Why not in PR #2122

Per the merge guideline established for cv300_neo: introduce neo artifact paths and CI rows in separate PRs so regressions in one don't gate the other. PR #2122 lands the build path; this issue tracks the CI row addition.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions