Skip to content

ci: xm, NOR images only - #43

Merged
dimerr merged 2 commits into
openipcfrom
ci/xm-nor-only
Oct 20, 2026
Merged

dimerr merged 2 commits into
openipcfrom
ci/xm-nor-only

Conversation

@dimerr

@dimerr dimerr commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

openipc-xm drops its SPI NAND images (see the openipc-xm PR from xm/generic-recovery): no XM530/XM550 board with SPI NAND has turned up, and the OpenIPC XM530 kernel has no SPI NAND driver.

  • build-xm.yml: xm510/xm530/xm550 build and smoke-test NOR only; the 768 KiB NAND size check and the NAND smoke legs go.
  • README: the NAND lines go.

Merge this first: openipc-xm's CI calls build-xm.yml@openipc, and after the xm change there is no -nand.bin to find. The u-boot-xm5x0-nand.bin assets already in the Xiongmai release stay until deleted by hand.

openipc-xm drops its SPI NAND images (xm/generic-recovery): no XM530/XM550
board with SPI NAND has turned up and the kernel has no driver for it.
Build and smoke-test xm510, xm530 and xm550 NOR only, and drop the NAND
lines from the README.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Build and smoke-test Xiongmai NOR images only

⚙️ Configuration changes 📝 Documentation 🕐 10-20 Minutes

Grey Divider

AI Description

• Limit XM510, XM530, and XM550 CI builds and smoke tests to SPI NOR images.
• Remove NAND partition checks and image documentation to match openipc-xm's supported outputs.
• Preserve the two-boot NOR smoke test as a gate for releases and publishing.
Diagram

graph TD
  R["XM revision"] --> B["SoC builds"] --> F{"NOR fits?"} --> A["NOR artifacts"] --> S["QEMU smoke"] --> L["Xiongmai release"]
  S --> P["Firmware publish"]
Loading
High-Level Assessment

Removing NAND-specific CI legs and documentation matches the upstream decision to stop producing those images while retaining NOR validation. Keeping NAND tests would require unsupported artifacts; existing NAND release assets remain until removed manually.

Files changed (2) +9 / -42

Documentation (1) +1 / -11
README.mdDocument NOR-only Xiongmai images +1/-11

Document NOR-only Xiongmai images

• Removes the unverified SPI NAND image description, NAND output filename, and NAND smoke-test claim so the documentation reflects the supported images.

README.md

Other (1) +8 / -31
build-xm.ymlRestrict Xiongmai CI to NOR builds and smoke tests +8/-31

Restrict Xiongmai CI to NOR builds and smoke tests

• Sets every SoC build and smoke-test matrix entry to NOR, removes the NAND size check and QEMU flash preparation, and retains the 256 KiB NOR fit check and two-boot smoke test.

.github/workflows/build-xm.yml

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. NAND images can ship without testing ✓ Resolved
Description
The build still invokes build.sh without restricting its output, and the artifact glob still
accepts NAND binaries even though the changed matrix removes their size and smoke checks. If the
workflow builds a source revision that still produces NAND images, including during the requested
merge-first interval, those images reach both release paths without the checks they previously had.
Code

.github/workflows/build-xm.yml[R64-65]

+          - { soc: xm530, kinds: "nor", files: "output/u-boot-xm530-*.bin" }
+          - { soc: xm550, kinds: "nor", files: "output/u-boot-xm550-*.bin" }
Evidence
The revised matrix requests only NOR, but build.sh receives only the SoC name. The artifact paths
still match -nand.bin, while the sole remaining size check matches -nor.bin; both release jobs
consume the resulting artifacts.

.github/workflows/build-xm.yml[61-65]
.github/workflows/build-xm.yml[94-97]
.github/workflows/build-xm.yml[125-136]
.github/workflows/build-xm.yml[272-281]
.github/workflows/build-xm.yml[316-329]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The NOR-only matrix can still upload NAND images produced by an older source revision, after the NAND checks have been removed.
## Fix Focus Areas
- .github/workflows/build-xm.yml[63-65]
- .github/workflows/build-xm.yml[125-135]
## Recommended Fix
Change each matrix artifact path to its specific `-nor.bin` filename, and fail the build if unexpected NAND output must be treated as an error.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. XM workflow guidance still lists NAND legs ✓ Resolved
Description
CLAUDE.md still says the XM530 and XM550 builds and smoke tests have NAND legs, contradicting the
changed workflow matrices. An agent using that repository guide to update XM CI will work from an
incorrect account of which images are built and gated.
Code

.github/workflows/build-xm.yml[R64-65]

+          - { soc: xm530, kinds: "nor", files: "output/u-boot-xm530-*.bin" }
+          - { soc: xm550, kinds: "nor", files: "output/u-boot-xm550-*.bin" }
Evidence
The agent-facing guide explicitly describes NAND matrix and smoke-test legs; the current workflow
has NOR-only entries for those SoCs in both matrices.

CLAUDE.md[64-74]
.github/workflows/build-xm.yml[61-65]
.github/workflows/build-xm.yml[179-185]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The repository's agent guide describes NAND build and smoke-test legs that this change removes.
## Fix Focus Areas
- CLAUDE.md[64-74]
## Recommended Fix
Replace the NAND-leg guidance with the current NOR-only build and smoke-test behavior.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Tip of the day
💡 Did you know, you can open the rule or relationship behind a finding in one click

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread .github/workflows/build-xm.yml Outdated
Comment thread .github/workflows/build-xm.yml Outdated
The artifact paths still matched u-boot-<soc>-*.bin, so a revision that
still built a -nand.bin would have uploaded and released it, now that
nothing checks NAND images. Upload u-boot-<soc>-nor.bin by name. And
CLAUDE.md still described the NAND legs.

Reported by Qodo on #43.
@dimerr
dimerr merged commit 3eba58d into openipc Oct 20, 2026
84 checks passed
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