Skip to content

20260615-linuxkm-fixes #1456

20260615-linuxkm-fixes

20260615-linuxkm-fixes #1456

Workflow file for this run

name: Zephyr 4.x tests
# START OF COMMON SECTION
on:
push:
branches: [ 'release/**' ]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches: [ '*' ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# END OF COMMON SECTION
jobs:
build:
name: ${{ matrix.zephyr-ref }} | ${{ matrix.board }} | ${{ matrix.sample }}${{ matrix.extra-conf != '' && ' | extlibc' || '' }}
if: ${{ (github.repository_owner == 'wolfssl') && (github.event_name != 'pull_request' || github.event.pull_request.draft == false) }}
runs-on: ubuntu-22.04
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
zephyr-ref: [ v4.1.0, v4.3.0, v4.4.0 ]
board: [ native_sim, frdm_rw612/rw612 ]
sample: [ wolfssl_tls_sock, wolfssl_test, wolfssl_benchmark ]
extra-conf: [ '', external_libc.conf ]
exclude:
# external_libc overlay is native_sim-only in the original Jenkins matrix
- board: frdm_rw612/rw612
extra-conf: external_libc.conf
steps:
- name: Checkout test driver
uses: actions/checkout@v5
with:
sparse-checkout: .github/scripts/zephyr-4.x
fetch-depth: 1
- name: Free disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc \
/opt/hostedtoolcache/CodeQL "$AGENT_TOOLSDIRECTORY" || true
docker system prune -af || true
df -h /
- name: Resolve wolfSSL repo and branch
id: src
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
# Fetch via upstream PR ref so renames, deletes, or visibility changes on the fork do not break us.
# Use the /merge ref (PR merged into the base branch) instead of /head so we test master+PR,
# picking up fixes already on master rather than testing the PR branch in isolation.
echo "repo=https://github.com/${{ github.repository }}" >> "$GITHUB_OUTPUT"
echo "branch=refs/pull/${{ github.event.pull_request.number }}/merge" >> "$GITHUB_OUTPUT"
else
echo "repo=https://github.com/${{ github.repository }}" >> "$GITHUB_OUTPUT"
echo "branch=${{ github.ref_name }}" >> "$GITHUB_OUTPUT"
fi
- name: Build and run sample
working-directory: .github/scripts/zephyr-4.x
run: |
EXTRA_CONF_ARG=""
if [[ -n "${{ matrix.extra-conf }}" ]]; then
EXTRA_CONF_ARG="--extra-conf ${{ matrix.extra-conf }}"
fi
bash ./zephyr-test.sh \
-r "${{ steps.src.outputs.repo }}" \
-b "${{ steps.src.outputs.branch }}" \
-z "${{ matrix.zephyr-ref }}" \
-t "${{ matrix.board }}" \
-s "${{ matrix.sample }}" \
$EXTRA_CONF_ARG
- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v6
with:
name: zephyr-4.x-${{ matrix.zephyr-ref }}-${{ matrix.sample }}-${{ strategy.job-index }}
path: .github/scripts/zephyr-4.x/logs/
retention-days: 5
if-no-files-found: ignore
# Stage Membrowse artifacts only for the cells we want to track on the
# Membrowse dashboard. Keep this tight to avoid duplicate target_name
# entries on the dashboard and unnecessary artifact uploads.
- name: Upload Membrowse artifacts (selected cells only)
if: >
success() &&
matrix.zephyr-ref == 'v4.3.0' &&
matrix.sample == 'wolfssl_test' &&
matrix.extra-conf == ''
uses: actions/upload-artifact@v6
with:
name: membrowse-zephyr-${{ matrix.board == 'native_sim' && 'native_sim' || 'frdm_rw612' }}
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
.github/scripts/zephyr-4.x/artifacts/${{ matrix.board == 'native_sim' && 'native_sim' || 'frdm_rw612-rw612' }}-wolfssl_test/zephyr.map
if-no-files-found: warn
retention-days: 1