Skip to content

Zephyr: Update to Zephyr 4.4#19807

Open
zingo wants to merge 5 commits into
pytorch:mainfrom
zingo:Zephyr-Update-to-Zephyr-4.4
Open

Zephyr: Update to Zephyr 4.4#19807
zingo wants to merge 5 commits into
pytorch:mainfrom
zingo:Zephyr-Update-to-Zephyr-4.4

Conversation

@zingo

@zingo zingo commented May 27, 2026

Copy link
Copy Markdown
Collaborator

Update CI install and testing, samples and docs
Zephyr 4.4 also added support for ensemble_e8_dk
so it can be used out of the box instead of the
alif zephyr git fork.

Test plan

Mosted tested by Github CI , Alif readme tested by hand.

cc @digantdesai @freddan80 @per @oscarandersson8218 @mansnils @Sebastian-Larsson @robell @rascani

Copilot AI review requested due to automatic review settings May 27, 2026 14:37
@zingo zingo added the partner: arm For backend delegation, kernels, demo, etc. from the 3rd-party partner, Arm label May 27, 2026
@zingo zingo requested a review from digantdesai as a code owner May 27, 2026 14:37
@zingo zingo added ciflow/trunk release notes: build Changes related to build, including dependency upgrades, build flags, optimizations, etc. labels May 27, 2026
@pytorch-bot

pytorch-bot Bot commented May 27, 2026

Copy link
Copy Markdown

🔗 Helpful Links

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

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

❌ 7 New Failures, 28 Cancelled Jobs

As of commit 95e8d70 with merge base 968fff9 (image):

NEW FAILURES - The following jobs have failed:

CANCELLED JOBS - The following jobs were cancelled. Please retry:

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 27, 2026
@linux-foundation-easycla

linux-foundation-easycla Bot commented May 27, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

@github-actions github-actions Bot added the module: arm Issues related to arm backend label May 27, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the ExecuTorch Zephyr integration to target Zephyr v4.4.0, refreshes the Zephyr setup flow used by CI/docs, and adds out-of-the-box support for the ensemble_e8_dk Alif E8 board variants.

Changes:

  • Bump Zephyr manifest revision to v4.4.0 and switch setup docs/CI to west packages pip --install + west sdk install.
  • Update Zephyr sample docs (FVP + Alif E8) and tutorials for Python 3.12+, new board naming, and improved flashing/run instructions.
  • Improve Zephyr CI setup: shared workspace directory (zephyr_dev_root) and a local Zephyr SDK releases proxy fallback to mitigate rate limits/network flakiness.

Reviewed changes

Copilot reviewed 16 out of 17 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
zephyr/samples/mv2-ethosu/README.md Updates prerequisites (Python 3.12+), FVP env vars, and Alif E8 build/flash/run instructions.
zephyr/samples/mv2-ethosu/boards/ensemble_e8_dk_ae822fa0e5597ls0_rtss_hp.overlay New DTS overlay to expose a larger contiguous SRAM region and enable Ethos-U for RTSS-HP.
zephyr/samples/mv2-ethosu/boards/ensemble_e8_dk_ae822fa0e5597ls0_rtss_hp.conf New board config enabling Ethos-U and DMA-accessible PTE handling (HP).
zephyr/samples/mv2-ethosu/boards/ensemble_e8_dk_ae822fa0e5597ls0_rtss_he.overlay New DTS overlay for RTSS-HE (larger SRAM + Ethos-U node).
zephyr/samples/mv2-ethosu/boards/ensemble_e8_dk_ae822fa0e5597ls0_rtss_he.conf New board config enabling Ethos-U and DMA-accessible PTE handling (HE).
zephyr/samples/mv2-ethosu/boards/alif_e8_dk_ae822fa0e5597xx0_rtss_hp.conf Removes old Alif E8 board config in favor of upstream ensemble_e8_dk.
zephyr/samples/hello-executorch/README.md Adds safer LD_LIBRARY_PATH export for FVP usage.
zephyr/README.md Updates to Zephyr 4.4 and adds explicit west packages + west sdk install steps (used by CI).
docs/source/zephyr_alif_tutorial.md Updates Alif tutorial for Zephyr 4.4, Python 3.12+, new model naming, and expanded flashing guidance.
backends/arm/test/test_github_trunk_zephyr.sh Adds --zephyr-dev-root and reuses a single setup across README runs.
backends/arm/scripts/toolchain_utils.sh Updates Zephyr toolchain download URLs/checksums to SDK v1.0.1 assets.
.gitignore Ignores the new zephyr_dev_root/ workspace and its backups.
.github/workflows/trunk.yml Ensures Zephyr CI runs under Python 3.12 by creating/activating a dedicated conda env.
.claude/skills/zephyr/SKILL.md Updates internal Zephyr skill doc to Zephyr 4.4 / west sdk install / west packages.
.ci/scripts/zephyr_sdk_release_proxy.py Adds a local synthetic GitHub Releases API/proxy for Zephyr SDK assets with caching + checksum verification.
.ci/scripts/test_zephyr.sh Refactors Zephyr setup to a configurable workspace, adds setup-only/skip-setup, and SDK proxy fallback.
.ci/docker/common/install_zephyr.sh Removes pre-downloading Zephyr SDK from the image build step.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .ci/scripts/test_zephyr.sh Outdated
Comment thread .ci/scripts/test_zephyr.sh
Comment thread .github/workflows/trunk.yml Outdated
Copilot AI review requested due to automatic review settings May 27, 2026 14:45
@zingo

zingo commented May 27, 2026

Copy link
Copy Markdown
Collaborator Author

@psiddh & @rascani this probably need a Meta review.

@zingo zingo added the help wanted Extra attention is needed label May 27, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 17 changed files in this pull request and generated 4 comments.

Comment thread docs/source/zephyr_alif_tutorial.md Outdated
Comment thread docs/source/zephyr_alif_tutorial.md
Comment thread docs/source/zephyr_alif_tutorial.md
Comment thread .github/workflows/trunk.yml Outdated
Copilot AI review requested due to automatic review settings May 27, 2026 14:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 17 changed files in this pull request and generated 3 comments.

Comment thread .ci/docker/common/zephyr_sdk_release_proxy.py
Comment thread .ci/scripts/test_zephyr.sh Outdated
Copilot AI review requested due to automatic review settings May 27, 2026 19:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 17 changed files in this pull request and generated 2 comments.

Comment thread .github/workflows/trunk.yml Outdated
@digantdesai digantdesai requested a review from rascani May 27, 2026 22:52
@rascani

rascani commented May 29, 2026

Copy link
Copy Markdown
Contributor

It looks like there are a few zephyr jobs failing, can you take a look @zingo?

Also, I'd like to get a better understanding for the rationale behind the SDK caching/proxying. In general, I'd like to minimize downloads in CI (causes flakes), but to me the ideal is caching most downloads in the docker image.

Comment on lines -86 to -92

# Zephyr SDK
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.17.4/zephyr-sdk-0.17.4_linux-x86_64.tar.xz
tar -xf zephyr-sdk-0.17.4_linux-x86_64.tar.xz
rm -f zephyr-sdk-0.17.4_linux-x86_64.tar.xz*
# Save setup to later and this get symlinked in to another folder in the test in trunk.yml
#./zephyr-sdk-0.17.4/setup.sh -c -t arm-zephyr-eabi

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand why this was removed? Seems like it would be best to have the download happen during the docker build (so we don't have to redo it on every CI job).

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was planning this for a later PR due to a few reasons:

  • I don't think it worked, it worked in our (Arm) internal CI but on github when I checked it didn't pick it up, maybe it was fixed later. I didn't check now.
  • The download/install of the new SDK artifacts works different now, Zephyr has it's own install process that is used.
  • Keep the patch smaller

But as I already had to handle the rate limiting with a proxy I kind of prepared for this and now when you asked why not... I have now updated with a docker pre-download lets see it if work.

@zingo zingo force-pushed the Zephyr-Update-to-Zephyr-4.4 branch from 11b9daa to 29b2a0c Compare June 5, 2026 15:20
@zingo zingo force-pushed the Zephyr-Update-to-Zephyr-4.4 branch from 11b9daa to 29b2a0c Compare June 5, 2026 15:20
@zingo

zingo commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator Author

It looks like there are a few zephyr jobs failing, can you take a look @zingo?

Yes seem to be Conda related. Zephyr setup code wants venv, PR updated

Also, I'd like to get a better understanding for the rationale behind the SDK caching/proxying. In general, I'd like to minimize downloads in CI (causes flakes), but to me the ideal is caching most downloads in the docker image.

The SDK download is not a wget thing anymore, it uses zephyr own SDK download and the proxy is a way to trick it for a few reasons like github rate limeting problems, and a way to prepoulate this with the SDK in the docker image (was planning this for a follow up PR but added it to this. Also we are not downloading the full SDK anymore only common+Arm tools so even i cache/proxy is not used the download time went from 5min->40s. We can add cached versions for other target later on when needed in CI like ESP32/RiskV/Cortex-A but I started with small as possible.

Copilot AI review requested due to automatic review settings June 6, 2026 15:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 17 out of 18 changed files in this pull request and generated 4 comments.

Comment on lines 36 to 38
mkdir ~/zephyr_workspace && cd ~/zephyr_workspace
python3 -m venv .venv && source .venv/bin/activate
pip install west "cmake<4.0.0" pyelftools ninja jsonschema
Comment on lines 55 to 57
mkdir zephyr_workspace && cd zephyr_workspace
python3 -m venv .venv && source .venv/bin/activate
pip install west "cmake<4.0.0" pyelftools ninja jsonschema
Comment thread .ci/scripts/test_zephyr.sh
Comment thread docs/source/zephyr_alif_tutorial.md
zingo added 5 commits June 8, 2026 11:44
Update CI install and testing, samples and docs
Zephyr 4.4 also added support for ensemble_e8_dk
so it can be used out of the box instead of the
alif zephyr git fork.

Signed-off-by: Zingo Andersen <Zingo.Andersen@arm.com>
Change-Id: Iddebc0516933be3136aefbf28e6fa74e033a76f8
Signed-off-by: Zingo Andersen <Zingo.Andersen@arm.com>
Change-Id: I071cc0d1332f27b326792e93e2a81fb30502a6b6
Signed-off-by: Zingo Andersen <Zingo.Andersen@arm.com>
Change-Id: I9e0bbd7bdb2abc3eef6daeba1ae04babde7d80b8
Signed-off-by: Zingo Andersen <Zingo.Andersen@arm.com>
Change-Id: I8ddcae1b95e948336ead54bb307f202b1fa927ce
Signed-off-by: Zingo Andersen <Zingo.Andersen@arm.com>
Change-Id: Ic0e1724409ca976375f54b1bf2dfd8badbb3f582
@zingo zingo force-pushed the Zephyr-Update-to-Zephyr-4.4 branch from ecc361e to 95e8d70 Compare June 8, 2026 09:45
@zingo

zingo commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator Author

Seem to run into this problem #20092

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. help wanted Extra attention is needed module: arm Issues related to arm backend partner: arm For backend delegation, kernels, demo, etc. from the 3rd-party partner, Arm release notes: build Changes related to build, including dependency upgrades, build flags, optimizations, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants