Skip to content

⚡ (patch) Split Cortex-M LLVM deploys into three jobs - #132

Merged
kammce merged 1 commit into
mainfrom
deploy-three-llvm-groups
Oct 18, 2026
Merged

kammce merged 1 commit into
mainfrom
deploy-three-llvm-groups

Conversation

@kammce

@kammce kammce commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Speeds up Cortex-M deploys so they fit the 45-minute timeout from #130.

Why

The libhal-util 6.0.0-alpha.1 deploy (run 39161198643) wasn't hung: its M0-M7 LLVM job was on package 16 of 24 when the timeout hit. Each package took about 110 seconds:

Part Time What it does
library build ~51 s mostly CMake rebuilding imported C++ module interfaces (mp-units, then libhal)
test_package ~56 s rebuilds that same module chain to link one small program

Changes

  • Three LLVM jobs: the deploy's LLVM Cortex-M cores are built in three jobs instead of two. Each job's cores are written out in the Plan job:

    Job Cores
    M0-M4 M0, M0+, M1 (left out when coroutine support is needed), M3, M4
    M4F-M23 M4F, M7F, M7D, M23
    M33-M85 M33, M33F, M35PF, M55, M85
  • Test package once per job: baremetal_package.sh runs test_package only for the first package it builds. Later packages pass --test-folder "", which skips it. Linking against the package is still tested once per job.

  • README: updated to match.

Check runs are unchanged: one "M sample" job.

Testing

  • Plan script: pulled from the YAML and run locally for deploy and check mode, with and without coroutine support. The output is above.
  • baremetal_package.sh: dry-run locally. Only the first conan create runs without --test-folder "".
  • actionlint: passes.

A libhal-util 6.0.0-alpha.1 deploy hit the 45 minute Cortex-M timeout:
each of its two LLVM jobs built 18-24 packages at about 110 seconds
each. Half of that time was the test_package, which rebuilds every
imported C++ module (mp-units, libhal, libhal-util) to link one program.

- The deploy's LLVM cores are built in three jobs instead of two, with
  each job's cores listed in the Plan job: M0-M4, M4F-M23 and M33-M85.
- baremetal_package.sh only runs the test_package for the first package
  it builds. Later packages pass --test-folder "".
@kammce
kammce force-pushed the deploy-three-llvm-groups branch from 402ab03 to 68703e3 Compare October 18, 2026 21:22
@kammce
kammce merged commit 90a1938 into main Oct 18, 2026
39 checks passed
@kammce
kammce deleted the deploy-three-llvm-groups branch October 18, 2026 21:26
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