Skip to content

Cortex-M backend: add cortex-m0plus to the trunk e2e CI matrix#19774

Open
rascani wants to merge 8 commits into
pytorch:mainfrom
rascani:cortex-m-trunk-ci-m0plus
Open

Cortex-M backend: add cortex-m0plus to the trunk e2e CI matrix#19774
rascani wants to merge 8 commits into
pytorch:mainfrom
rascani:cortex-m-trunk-ci-m0plus

Conversation

@rascani

@rascani rascani commented May 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Extends _test_cortex_m_e2e.yml with a targets input that joins the existing model matrix to give a target × model cross product, so trunk can exercise the same suite against multiple Cortex-M variants. The trunk job opts in to ["cortex-m55", "cortex-m0plus"]; the nightly job (and any future caller that doesn't pass targets) falls back to the M55-only default and keeps its current shape.

Cortex-M0+ is the first scalar-class (Armv6-M) variant to enter CI. It exercises the pure-C CMSIS-NN kernel path (__ARM_FEATURE_DSP and __ARM_FEATURE_MVE both undefined), covering the M0+ enablement patches that fix the Armv6-M HardFault handler and the ARMCM0plus directory-case mismatch in the Cortex DFP. M0, M3, and M23 share the same Armv6-M / Armv8-M Baseline arch family and can slot into the same targets array later without further workflow changes.

Test plan

CI

Authored with Claude.

Extends `_test_cortex_m_e2e.yml` with a `targets` input that joins
the existing `model` matrix to give a target × model cross product,
so trunk can exercise the same suite against multiple Cortex-M
variants. The trunk job opts in to `["cortex-m55", "cortex-m0plus"]`;
the nightly job (and any future caller that doesn't pass `targets`)
falls back to the M55-only default and keeps its current shape.

Cortex-M0+ is the first scalar-class (Armv6-M) variant to enter CI.
It exercises the pure-C CMSIS-NN kernel path (`__ARM_FEATURE_DSP`
and `__ARM_FEATURE_MVE` both undefined), covering the M0+ enablement
patches that fix the Armv6-M HardFault handler and the
`ARMCM0plus` directory-case mismatch in the Cortex DFP. M0, M3, and
M23 share the same Armv6-M / Armv8-M Baseline arch family and can
slot into the same `targets` array later without further workflow
changes.

`pull.yml`'s `test-mcu-cortex-m-backend` is intentionally left at
M55-only — per-PR coverage is deferred until the trunk M0+ leg
demonstrates stability over a few cycles.

Authored with Claude.
@pytorch-bot

pytorch-bot Bot commented May 26, 2026

Copy link
Copy Markdown

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/19774

Note: Links to docs will display an error until the docs builds have been completed.

❌ 1 New Failure, 2 Unclassified Failures

As of commit c0cf171 with merge base 26b4be8 (image):

NEW FAILURE - The following job has failed:

UNCLASSIFIED FAILURES - DrCI could not classify the following jobs because the workflow did not run on the merge base. The failures may be pre-existing on trunk or introduced by this PR:

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label May 26, 2026
@github-actions

Copy link
Copy Markdown

This PR needs a release notes: label

If your change should be included in the release notes (i.e. would users of this library care about this change?), please use a label starting with release notes:. This helps us keep track and include your important work in the next release notes.

To add a label, you can comment to pytorchbot, for example
@pytorchbot label "release notes: none"

For more information, see
https://github.com/pytorch/pytorch/wiki/PyTorch-AutoLabel-Bot#why-categorize-for-release-notes-and-how-does-it-work.

@rascani rascani marked this pull request as ready for review May 27, 2026 15:22
@rascani rascani requested review from AdrianLundell, psiddh and zingo May 27, 2026 15:22
@rascani rascani requested a review from digantdesai June 4, 2026 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ciflow/trunk CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants