Skip to content

Commit faf6395

Browse files
author
Alex J Lennon
committed
ci(zephyr-e2e): install pyelftools for Zephyr build scripts
West build failed with ModuleNotFoundError: elftools; Zephyr gen_kobject_list.py needs pyelftools in WEST_PYTHON venv. Made-with: Cursor
1 parent 5c990ab commit faf6395

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

.github/workflows/zephyr-e2e.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ jobs:
6666
run: |
6767
python3 -m venv .venv-west
6868
./.venv-west/bin/pip install -U pip
69-
./.venv-west/bin/pip install west
69+
# pyelftools: required by Zephyr build scripts (gen_kobject_list.py imports elftools).
70+
./.venv-west/bin/pip install west pyelftools
7071
echo "${{ github.workspace }}/.venv-west/bin" >> "$GITHUB_PATH"
7172
7273
- uses: dtolnay/rust-toolchain@stable

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ RUN_E2E_ZEPHYR_NATIVE=1 ./scripts/validate_local.sh
101101
### GitHub Actions (optional E2E parity)
102102

103103
- **GDB smoke** — the **CI** workflow includes an Ubuntu job that runs `scripts/e2e_gdb_smoke.sh` after `cargo build --release` (same idea as `RUN_E2E_GDB=1` with `validate_local.sh`, without duplicating fmt/clippy/doc in that job).
104-
- **Zephyr `native_sim`** — the **Zephyr E2E** workflow (`.github/workflows/zephyr-e2e.yml`) provisions a cached west workspace, then runs `scripts/e2e_zephyr_native_sim.sh`. It runs when `scripts/e2e_zephyr_native_sim.sh` or `scripts/zephyr_multi_printf_app/` change, on pushes to `main`/`develop` for those paths, on a weekly schedule, and via **workflow_dispatch** (Actions → Zephyr E2E → Run workflow). This mirrors `RUN_E2E_ZEPHYR_NATIVE=1` locally without checking a Zephyr tree into this repo. The workflow builds **`target/debug/rsgdb`** (not release) and frees some preinstalled SDKs on the runner so the job fits on the GitHub-hosted disk.
104+
- **Zephyr `native_sim`** — the **Zephyr E2E** workflow (`.github/workflows/zephyr-e2e.yml`) provisions a cached west workspace, then runs `scripts/e2e_zephyr_native_sim.sh`. It runs when `scripts/e2e_zephyr_native_sim.sh` or `scripts/zephyr_multi_printf_app/` change, on pushes to `main`/`develop` for those paths, on a weekly schedule, and via **workflow_dispatch** (Actions → Zephyr E2E → Run workflow). This mirrors `RUN_E2E_ZEPHYR_NATIVE=1` locally without checking a Zephyr tree into this repo. The workflow builds **`target/debug/rsgdb`** (not release), frees some preinstalled SDKs on the runner, and installs **`pyelftools`** in the west venv (Zephyr’s `gen_kobject_list.py` imports `elftools`).
105105

106106
### Issue tracking
107107

0 commit comments

Comments
 (0)