Skip to content

ci: sigmastar: every die, NOR and SPI NAND; publish off for now - #108

Merged
dimerr merged 3 commits into
openipcfrom
sigmastar/more-dies-ci
Nov 7, 2026
Merged

dimerr merged 3 commits into
openipcfrom
sigmastar/more-dies-ci

Conversation

@dimerr

@dimerr dimerr commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

The CI side of #107.

  • Build matrix: the 52 images openipc-sigmastar's build.sh now makes, one leg each. That covers infinity2m, infinity6, 6b0, 6e, 6c, Iford, Ifado and Ifliegen, NOR and SPI NAND, next to infinity3.
  • Smoke test: it still boots the infinity3 and infinity2m legs. The others are built and fit-checked, since qemu-hisilicon as CI uses it has no machines for them.
  • Publishing: the publish job (OpenIPC/firmware latest and the openipc.org report) is commented out, along with its input. Images go only to this repository's sigmastar release (release=true) until a board has run them. Uncommenting the job and the input brings it back, still limited to u-boot-msc31* by PUBLISH_GLOB.
  • Docs: the README and CLAUDE.md are updated: the SoC table, the "not run on silicon" note and the publish status.

Merge #107 first. This PR's own run builds the current openipc-sigmastar, which doesn't have the new SoCs yet, so its new legs fail until #107 is merged.

The build matrix takes the 50 images openipc-sigmastar's build.sh now
makes: infinity2m, infinity6, 6b0, 6e, 6c, Iford, Ifado and Ifliegen,
NOR and SPI NAND, next to infinity3. The smoke test boots the infinity3
and infinity2m legs as before; the rest are built and fit-checked.

The publish job (OpenIPC/firmware latest and the openipc.org report) and
its input are commented out: the images go only to this repository's
sigmastar release until a board has run them.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Expand SigmaStar CI to 50 images and pause external publishing

✨ Enhancement ⚙️ Configuration changes 🧪 Tests 📝 Documentation 🕐 20-40 Minutes

Grey Divider

AI Description

• Build and fit-check 50 SigmaStar NOR and SPI NAND image variants.
• Extend QEMU smoke tests to SSD201 and SSD202D; other new variants remain build-checked only.
• Pause OpenIPC/firmware publishing while retaining the opt-in repository release pending hardware
 validation.
• Document supported SoCs, image layouts, recovery files, and publishing status.
Diagram

graph TD
  R["Resolve revision"] --> B["50 build legs"] --> F["Fit checks"] --> A[("Image artifacts")] --> S["QEMU smoke"] --> L["SigmaStar release"]
  Q["QEMU build"] --> S
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Generate the matrix from an upstream image manifest
  • ➕ Reduces drift between build.sh targets and CI entries.
  • ➕ Avoids maintaining 50 target-to-filename mappings by hand.
  • ➖ Requires an upstream manifest contract and matrix-generation job.
  • ➖ Makes the set of release-eligible targets less explicit in this workflow.

Recommendation: Keep the explicit matrix and disabled external-publish job for this rollout: both make the tested variants and publication boundary auditable. Merge #107 before expecting the new build legs to pass; consider a shared manifest if targets continue to change frequently.

Files changed (3) +207 / -99

Documentation (2) +53 / -12
CLAUDE.mdDocument SigmaStar coverage and CI validation boundaries +20/-10

Document SigmaStar coverage and CI validation boundaries

• Expands the SoC-family description and explains which images receive QEMU boot tests versus build-and-fit checks. Describes flash sizing, the repository release, and the restricted external-publishing plan.

CLAUDE.md

README.mdExpand SigmaStar SoC and flash-layout documentation +33/-2

Expand SigmaStar SoC and flash-layout documentation

• Adds supported SoC families, NOR and SPI NAND variants, boot-image layouts, and the hardware-validation caveat. Clarifies that SigmaStar images currently go only to this repository's release and adds SD-recovery image guidance, including in two other vendor sections.

README.md

Other (1) +154 / -87
build-sigmastar.ymlBuild 50 variants, expand smoke coverage, and disable external publishing +154/-87

Build 50 variants, expand smoke coverage, and disable external publishing

• Adds individual NOR and SPI NAND build legs with variant-specific output and size checks. Extends two-boot QEMU smoke tests to SSD201 and SSD202D using 16 MiB flash images; the remaining new variants are built and fit-checked, not booted. Comments out the OpenIPC/firmware publish input and job while retaining the opt-in repository release and an MSC31-only filter for any future re-enable.

.github/workflows/build-sigmastar.yml

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

qodo-free-for-open-source-projects Bot commented Nov 7, 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. Oversized NAND images pass the fit check ✓ Resolved
Description
Check partition fit allows NAND images up to 8192 KiB, although the documented SigmaStar boot
image ends at 2 MiB and the environment begins immediately afterward. If a build produces an image
between those sizes, this CI check accepts bytes that would extend beyond the boot area when
flashed.

2. Untested images appear QEMU-booted ✓ Resolved
Description
The SigmaStar README says the infinity6, Iford, Ifado and Ifliegen images have run under QEMU, but
none of those families appears in the smoke-test matrix. A successful release can therefore contain
those build- and fit-checked images while readers believe their boot behavior was tested.

3. Goke publishing is wrongly marked off ✓ Resolved
Description
The new build-gk710x.yml guidance in CLAUDE.md says its publish job is commented out and
substitutes SigmaStar release status. The Goke workflow still has an active publish job, so someone
using this agent-facing guide to operate or change that workflow gets the wrong availability and
destination.

View review recommended (1)
4. SigmaStar guidance excludes new NAND builds ✓ Resolved
Description
The new NAND legs make CLAUDE.md's description of SigmaStar CI as 'NOR only (256 KiB boot
partition)' inaccurate. A later change following that agent-facing description could treat the newly
built NAND images as subject to the NOR size and layout rather than their documented 2 MiB layout.

Grey Divider

Tip of the day
💡 Did you know, you can hide the parts of a finding you never read, like the evidence or the agent prompt

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

The NAND fit check allowed 8 MiB. Each die's SPI NAND image is its boot
area, which ends where its environment starts: 2 MiB, 4352 KiB on
infinity2m, 4864 KiB on infinity6c, 5632 KiB on Iford. The check now
takes that limit per leg.

README: the later dies were booted under qemu in development; CI boots
only the infinity3 and infinity2m legs and builds and fit-checks the
rest. CLAUDE.md: the SigmaStar section covers NAND and the commented-out
publish; the Goke section, which the previous commit edited by mistake,
says again that its publish runs.

Reported by Qodo on #108.
ssc034a-nand and ssc034b-nand, 52 legs in all; their boot area ends at
the environment, 0x500000 (5120 KiB).
@dimerr
dimerr merged commit df8e50c into openipc Nov 7, 2026
81 of 130 checks passed
@dimerr
dimerr deleted the sigmastar/more-dies-ci branch November 7, 2026 14:27
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