Skip to content

Add lots more membrowse platforms#10433

Closed
LinuxJedi wants to merge 1 commit into
wolfSSL:masterfrom
LinuxJedi:more-membrowse
Closed

Add lots more membrowse platforms#10433
LinuxJedi wants to merge 1 commit into
wolfSSL:masterfrom
LinuxJedi:more-membrowse

Conversation

@LinuxJedi

Copy link
Copy Markdown
Member

Lots more ARM Cortex, RiscV, AArch64, linuxkm and some Zephyr

Lots more ARM Cortex, RiscV, AArch64, linuxkm and some Zephyr
Copilot AI review requested due to automatic review settings May 8, 2026 12:29

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

This PR expands the Membrowse (memory tracking) coverage by (1) staging Zephyr build artifacts from the existing Zephyr 4.x CI workflow and (2) adding new Membrowse build targets across additional embedded/arch and linuxkm configurations.

Changes:

  • Upload Zephyr zephyr.elf/linker.cmd artifacts (selected matrix cells) from zephyr-4.x.yml for downstream Membrowse analysis.
  • Add a new workflow_run-triggered workflow to download those Zephyr artifacts and submit them to Membrowse.
  • Extend .github/membrowse-targets.json with additional GCC-ARM Cortex-M, RISC-V, AArch64, Renode STM32H753, and linuxkm targets.

Reviewed changes

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

File Description
.github/workflows/zephyr-4.x.yml Uploads selected Zephyr build artifacts for Membrowse consumption.
.github/workflows/membrowse-zephyr.yml New workflow that downloads staged Zephyr artifacts and runs Membrowse analysis.
.github/scripts/zephyr-4.x/zephyr-test.sh Stages zephyr.elf/linker.cmd into a host-mounted artifacts directory.
.github/membrowse-targets.json Adds many new Membrowse build targets for additional platforms/configurations.

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

LOG_FILE="${LOG_DIR}/${BOARD_SLUG}_${TIMESTAMP}.log"
ARTIFACTS_DIR="${SCRIPT_DIR}/artifacts/${BOARD_SLUG}-${SAMPLE_NAME}"
mkdir -p "${ARTIFACTS_DIR}"
chmod 0777 "${ARTIFACTS_DIR}"
path: |
.github/scripts/zephyr-4.x/artifacts/${{ matrix.board == 'native_sim' && 'native_sim' || 'frdm_rw612-rw612' }}-wolfssl_test/zephyr.elf
.github/scripts/zephyr-4.x/artifacts/${{ matrix.board == 'native_sim' && 'native_sim' || 'frdm_rw612-rw612' }}-wolfssl_test/linker.cmd
if-no-files-found: warn
Comment on lines +214 to +217
"port": "linuxkm",
"board": "linux-kernel-module-standard",
"setup_cmd": "sudo apt-get update && sudo apt-get install -y build-essential autoconf automake libtool linux-headers-$(uname -r)",
"build_cmd": "./autogen.sh && ./configure --with-linux-source=/lib/modules/$(uname -r)/build EXTRA_CPPFLAGS=-Werror --enable-option-checking=fatal --enable-linuxkm --enable-linuxkm-lkcapi-register=all --enable-all --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-experimental --enable-dual-alg-certs --disable-qt --disable-quic --with-sys-crypto-policy=no --disable-testcert --enable-all-asm --enable-crypttests --enable-linuxkm-benchmarks CFLAGS='-Wframe-larger-than=2048 -Wstack-usage=4096 -DBENCH_EMBEDDED -DBENCH_MIN_RUNTIME_SEC=0.01 -DBENCH_NTIMES=1 -DBENCH_AGREETIMES=1' --with-max-rsa-bits=16384 && make -j$(nproc) KERNEL_EXTRA_CFLAGS_REMOVE=-pg FORCE_NO_MODULE_SIG=1",
Comment on lines +223 to +227
"target_name": "linuxkm-pie",
"port": "linuxkm",
"board": "linux-kernel-module-pie",
"setup_cmd": "sudo apt-get update && sudo apt-get install -y build-essential autoconf automake libtool linux-headers-$(uname -r)",
"build_cmd": "./autogen.sh && ./configure --with-linux-source=/lib/modules/$(uname -r)/build EXTRA_CPPFLAGS=-Werror --enable-option-checking=fatal --enable-linuxkm --enable-linuxkm-pie --enable-reproducible-build --enable-linuxkm-lkcapi-register=all --enable-all-crypto --enable-cryptonly --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-experimental --disable-qt --disable-quic --with-sys-crypto-policy=no --disable-opensslextra --disable-testcert --enable-intelasm --disable-sp-asm --enable-crypttests --enable-linuxkm-benchmarks CFLAGS='-DWOLFSSL_LINUXKM_VERBOSE_DEBUG -DDEBUG_LINUXKM_PIE_SUPPORT -Wframe-larger-than=2048 -Wstack-usage=4096 -DBENCH_EMBEDDED -DBENCH_MIN_RUNTIME_SEC=0.01 -DBENCH_NTIMES=1 -DBENCH_AGREETIMES=1' --with-max-rsa-bits=16384 && make -j$(nproc) KERNEL_EXTRA_CFLAGS_REMOVE=-pg FORCE_NO_MODULE_SIG=1",
Comment on lines +37 to +57
- name: Download Zephyr build artifact
id: download
uses: actions/download-artifact@v4
with:
name: ${{ matrix.target.artifact }}
path: zephyr-artifacts/${{ matrix.target.name }}
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ secrets.GITHUB_TOKEN }}
continue-on-error: true

- name: Verify artifact present
id: verify
run: |
ELF="zephyr-artifacts/${{ matrix.target.name }}/zephyr.elf"
LD="zephyr-artifacts/${{ matrix.target.name }}/linker.cmd"
if [[ -f "$ELF" && -f "$LD" ]]; then
echo "have_artifacts=true" >> "$GITHUB_OUTPUT"
else
echo "have_artifacts=false" >> "$GITHUB_OUTPUT"
echo "::warning::Membrowse artifact for ${{ matrix.target.name }} not found; the matching cell of zephyr-4.x.yml may have been skipped or excluded."
fi
@LinuxJedi

Copy link
Copy Markdown
Member Author

Closing this, I'll revisit next week.

@LinuxJedi LinuxJedi closed this May 8, 2026
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.

2 participants