Skip to content

Add STM32H753XI-EVAL2 support to CI configuration and docs - #298

Closed
Iva-L wants to merge 2 commits into
JPL-Devin:devin/1793833143-ext-ci-led-blinkerfrom
Iva-L:stm32-ext-ci
Closed

Iva-L wants to merge 2 commits into
JPL-Devin:devin/1793833143-ext-ci-led-blinkerfrom
Iva-L:stm32-ext-ci

Conversation

@Iva-L

@Iva-L Iva-L commented Nov 9, 2026 •

Copy link
Copy Markdown
Related Issue(s) Stacked on nasa#6328
Has Unit Tests (y/n) n
Documentation Included (y/n) y
Generative AI was used in this contribution (y/n) y

Change Description

Adds fprime-community/fprime-stm32-baremetal-reference as a manifest entry for the ext-ci orchestrator introduced in nasa#6328, dispatching its hil.yml (not ci.yml — see Rationale) with on_pr: false and a 25-minute timeout. Also adds the STM32H753XI-EVAL2 row to docs/user-manual/framework/supported-platforms.md, with its Build Status badge pointing at fprime-community/fprime-stm32-baremetal-reference's own hil.yml run history (the workflow actually dispatched).

Also adds a second, independent guard to hil.yml's HIL-integration job (companion PR on fprime-community/fprime-stm32-baremetal-reference): it now requires inputs.fprime_repository == 'nasa/fprime' on workflow_dispatch, on top of the manifest's on_pr: false and the pre-existing hil-hardware environment gate — matching nasa#6328's documented rule for external repos with self-hosted/hardware runners ("a job-level guard on inputs.fprime_repository in the workflow").

Rationale

hil.yml already satisfies the dispatch contract nasa#6328 defines for external ci.yml files (workflow_dispatch with fprime_repository/fprime_ref/fprime_pr_number/dispatch_id, permissions: contents: read, no secrets, no cache writes) and its cross-compilation job alone already
covers everything this repo's separate ci.yml does (plus GTest coverage on the SPI/I2C drivers that ci.yml doesn't exercise). Per maintainer direction: nasa/fprime's dispatched runs should only confirm core F´ command/data handling and telemetry are functional on this platform, not exercise the fault-injection/thermal-stimulus suites, which are specific to this repo's own physical rig and stay native-only (push/pull_request/nightly schedule on this repo). hil.yml's HIL-integration step already branches on GITHUB_EVENT_NAME == workflow_dispatch to run only smoke/imu_manager/bmp_manager integration tests in that case, so no change was needed there for this PR.

hil.yml's HIL-integration job runs on [self-hosted, baremetal] (a physical STM32H753XI-EVAL2 board wired to a Raspberry Pi), so on_pr: false is required per nasa#6328's stated rule — PR-head code (including same-repo PRs) must never reach hardware through the orchestrator path; it only runs for devel/nightly/release there. The added fprime_repository guard is defense-in-depth against a future manual orchestrator dispatch naming a different F´ fork, independent of on_pr.

fprime-community/fprime-stm32-baremetal-reference's own ci.yml is not touched by this PR and is not the dispatch target — it currently targets nonexistent main/master branches (the repo's actual default branch is devel) and is redundant with what hil.yml's cross-compilation job already does; cleaning it up is a separate concern for that repo, not in scope here.

Note on #296: that PR (on an unrelated, older branch) also proposes a STM32H753XI-EVAL2 row in supported-platforms.md, but its badge points at this repo's ci.yml — the broken/unused workflow described above, not the one actually wired into the orchestrator. This PR's row points at
hil.yml instead. Flagging so a maintainer can reconcile whichever lands first rather than ending up with a duplicate or stale row.

Testing/Review Recommendations

  • Not yet exercised end to end: the App installation needs fprime-community/fprime-stm32-baremetal-reference added to the "External CI" App's repository list before the orchestrator can dispatch into it (same precondition ci: dispatch external CI to the external repositories (led-blinker pilot) nasa/fprime#6328 calls out for any new manifest entry).
  • Please double-check the timeout_minutes: 25 sizing: recent real hil.yml runs on the self-hosted runner complete in ~13 minutes end to end (cross-compile + HIL-integration), so 25 gives roughly 2x margin while keeping 2 * max(timeout_minutes) within ext-ci.yml's own timeout-minutes: 60.
  • Please confirm the hil-hardware GitHub environment (required reviewers) is configured on fprime-community/fprime-stm32-baremetal-reference before this entry goes live — it's the approval gate for any dispatched run that does reach HIL-integration.
  • Please reconcile with ci: add fprime-stm32-baremetal-reference to the ext-ci manifest (replaces #6204) #296's duplicate supported-platforms.md row (see Rationale) before merging either.

Future Work

Contributor Checklist

AI Usage (see policy)

Generative AI (Claude) was used to: Write the manifest entry, the supported-platforms.md row; and draft this PR description.


Devin Review

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@Iva-L Iva-L closed this by deleting the head repository Nov 11, 2026
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