Skip to content

ci: add STM32H753XI-EVAL2 to supported platforms and external CI work… - #6378

Open
Iva-L wants to merge 1 commit into
nasa:develfrom
Iva-L:ext-ci-stm32
Open

Iva-L wants to merge 1 commit into
nasa:develfrom
Iva-L:ext-ci-stm32

Conversation

@Iva-L

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

Copy link
Copy Markdown
Related Issue(s) #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 #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 #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 #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 #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.

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) #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.

Future Work

Contributor Checklist

AI Usage (see policy)

Generative AI (Claude) was used to: Draft this PR description.

@github-actions

This comment was marked as outdated.

@thomas-bc

thomas-bc commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator
image

🎉

Note, I've been cheating a little, and forced the check to appear here using gh api -X POST repos/nasa/fprime/actions/workflows/ext-ci.yml/dispatches -f ref=ext-ci-stm32 -f 'inputs[repos]=stm32-baremetal' – this is because our orchestrator currently uses the manifest.json @ devel rather than on the PR head. WIP to fix: JPL-Devin#299

@thomas-bc

Copy link
Copy Markdown
Collaborator
image

and it actually found a problem! This is likely cause the repo is on the last fprime release, where this expects it to be on devel

This branch has not been deployed

No deployments
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.

2 participants