Repository navigation
Conversation
Author
|
Closing in favor of JPL-Devin#296, which plugs fprime-community/fprime-stm32-baremetal-reference into the general-purpose ext-ci orchestrator (from #6231) via a manifest entry, rather than a bespoke per-repo dispatcher workflow. Once that lands, nasa/fprime needs no stm32-specific workflow file, secret, or Check Run logic at all — the orchestrator's existing dispatch/poll/report machinery covers it. |
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
ext-fprime-stm32-baremetal-reference.yml, a thin dispatcher that firesworkflow_dispatchonfprime-community/fprime-stm32-baremetal-reference's ownhil.yml, polls the remote run, and reports the result back as ahil-testsCheck Run on this commit/PR — following the same pattern as #6231 ("ext-ci orchestrator") and thefprime-workshop-led-blinker#167example.Single job, hosted
ubuntu-22.04:fprime-gds@pr-<N>upgrade on the remote side) to dispatch — the PR head SHA forpull_request,github.shaotherwise.createWorkflowDispatchon the target repo'shil.yml, passingfprime_repository/fprime_ref/fprime_pr_number/dispatch_idinputs (same namesfprime-workshop-led-blinker#167'sci.ymluses), and creates aqueuedhil-testsCheck Run.dispatch_idagainst itsrun-name, polls it to completion via the GitHub API, and updates the Check Run to the remote run's final conclusion.finalizestep (if: always()) closes the Check Run ascancelled/failureif the dispatcher job itself is cancelled or crashes mid-poll, so nothing is ever leftin_progressforever.Same triggers as the superseded #6204 version: nightly
schedule,push: release/**,pull_request: [devel, release/**], andworkflow_dispatch. Fork PRs ofnasa/fprimeare never dispatched (same-repo-head check) — the real trust gate against untrusted F´ refs lives on the receiving side, where the target repo's release/**], andworkflow_dispatch. Fork PRs ofnasa/fprimeare never dispatched (same-repo-head check) — the real trust gate against untrusted F´ refs lives on the receiving side, where the target repo'shil-hardware` environment requires human approval before a dispatched ref reaches the board.Requires one new secret,
HIL_DISPATCH_TOKEN(a fine-grained PAT scoped tofprime-community/fprime-stm32-baremetal-referencewithactions: writeand Actions-run read access) — no callback secret is needed on the external repo under this polling design, unlike #6204'sHIL_CALLBACK_TOKEN.Rationale
#6204 put the self-hosted Pi runner and the full build/flash/HIL-test workflow in
nasa/fprime, with only a thin/run-hildispatcher on the reference repo. Per maintainer direction, that's reversed: the runner and hardware-facing workflow should live onfprime-community/fprime-stm32-baremetal-reference(the repo that owns the hardware), andnasa/fprimeshould only dispatch — the same "external CI" shape the maintainers are rolling out project-wide (see #6231,fprime-workshop-led-blinker#167). This also drops the two-secret commit-status-callback design in favor of the one-token polling + Check Run pattern already prototyped in #6231, eliminating the need for a callback secret.Testing/Review Recommendations
fprime-community/fprime-stm32-baremetal-referenceadds the receivinghil.yml(the build/flash/HIL-test workflow, moved there from Addfprime-stm32-baremetal-referenceCI and HIL test workflows #6204) — dispatch can't be exercised end-to-end until both land andHIL_DISPATCH_TOKEN/thehil-hardwareenvironment exist.Future Work
Contributor Checklist
AI Usage (see policy)
Generative AI (Claude) was used to: Write the CI workflow file, documentation and help with PR description.
AGENTS.md).