Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change Description
Adds
fprime-community/fprime-stm32-baremetal-referenceas a manifest entry for theext-ciorchestrator introduced in nasa#6328, dispatching itshil.yml(notci.yml— see Rationale) withon_pr: falseand a 25-minute timeout. Also adds the STM32H753XI-EVAL2 row todocs/user-manual/framework/supported-platforms.md, with its Build Status badge pointing atfprime-community/fprime-stm32-baremetal-reference's ownhil.ymlrun history (the workflow actually dispatched).Also adds a second, independent guard to
hil.yml'sHIL-integrationjob (companion PR onfprime-community/fprime-stm32-baremetal-reference): it now requiresinputs.fprime_repository == 'nasa/fprime'onworkflow_dispatch, on top of the manifest'son_pr: falseand the pre-existinghil-hardwareenvironment gate — matching nasa#6328's documented rule for external repos with self-hosted/hardware runners ("a job-level guard oninputs.fprime_repositoryin the workflow").Rationale
hil.ymlalready satisfies the dispatch contract nasa#6328 defines for externalci.ymlfiles (workflow_dispatchwithfprime_repository/fprime_ref/fprime_pr_number/dispatch_id,permissions: contents: read, no secrets, no cache writes) and itscross-compilationjob alone alreadycovers everything this repo's separate
ci.ymldoes (plus GTest coverage on the SPI/I2C drivers thatci.ymldoesn'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/nightlyscheduleon this repo).hil.yml'sHIL-integrationstep already branches onGITHUB_EVENT_NAME == workflow_dispatchto run onlysmoke/imu_manager/bmp_managerintegration tests in that case, so no change was needed there for this PR.hil.yml'sHIL-integrationjob runs on[self-hosted, baremetal](a physical STM32H753XI-EVAL2 board wired to a Raspberry Pi), soon_pr: falseis 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 fordevel/nightly/release there. The addedfprime_repositoryguard is defense-in-depth against a future manual orchestrator dispatch naming a different F´ fork, independent ofon_pr.fprime-community/fprime-stm32-baremetal-reference's ownci.ymlis not touched by this PR and is not the dispatch target — it currently targets nonexistentmain/masterbranches (the repo's actual default branch isdevel) and is redundant with whathil.yml'scross-compilationjob 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'sci.yml— the broken/unused workflow described above, not the one actually wired into the orchestrator. This PR's row points athil.ymlinstead. Flagging so a maintainer can reconcile whichever lands first rather than ending up with a duplicate or stale row.Testing/Review Recommendations
fprime-community/fprime-stm32-baremetal-referenceadded 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).timeout_minutes: 25sizing: recent realhil.ymlruns on the self-hosted runner complete in ~13 minutes end to end (cross-compile + HIL-integration), so 25 gives roughly 2x margin while keeping2 * max(timeout_minutes)withinext-ci.yml's owntimeout-minutes: 60.hil-hardwareGitHub environment (required reviewers) is configured onfprime-community/fprime-stm32-baremetal-referencebefore this entry goes live — it's the approval gate for any dispatched run that does reachHIL-integration.supported-platforms.mdrow (see Rationale) before merging either.Future Work
failure_policyfromnotifytoblockonce the dispatched path has run clean for a while, matching ci: dispatch external CI to the external repositories (led-blinker pilot) nasa/fprime#6328's stated promotion criteria for the led-blinker pilot.Contributor Checklist
AI Usage (see policy)
Generative AI (Claude) was used to: Write the manifest entry, the
supported-platforms.mdrow; and draft this PR description.AGENTS.md).