mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-06 17:40:50 +02:00
81 lines
2.8 KiB
YAML
81 lines
2.8 KiB
YAML
name: Zephyr 4.x tests
|
|
|
|
# START OF COMMON SECTION
|
|
on:
|
|
push:
|
|
branches: [ 'master', 'main', 'release/**' ]
|
|
pull_request:
|
|
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'
|
|
runs-on: ubuntu-22.04
|
|
timeout-minutes: 60
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
zephyr-ref: [ v4.1.0, v4.3.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@v4
|
|
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
|
|
echo "repo=https://github.com/${{ github.repository }}" >> "$GITHUB_OUTPUT"
|
|
echo "branch=refs/pull/${{ github.event.pull_request.number }}/head" >> "$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@v4
|
|
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
|