Skip to content

ThreadXBuild Test

ThreadXBuild Test #23

Workflow file for this run

name: ThreadXBuild Test
on:
push:
branches: [ 'release/**' ]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches: [ '*' ]
# Daily run on master reseeds the shared cache (see save step below).
schedule:
- cron: '20 5 * * *'
env:
NETXDUO_REF: v6.4.3_rel
jobs:
build:
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.draft == false }}
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
- name: Restore NetXDuo bundle cache
id: cache-netxduo
uses: actions/cache/restore@v5
with:
path: ./${{ env.NETXDUO_REF }}.tar.gz
key: netxduo-bundle-${{ env.NETXDUO_REF }}
- name: Download NetXDuo bundle if not cached
if: steps.cache-netxduo.outputs.cache-hit != 'true'
run: |
wget https://github.com/eclipse-threadx/netxduo/archive/refs/tags/${{ env.NETXDUO_REF }}.tar.gz
# Only master (the daily schedule) saves, so all PRs share one entry.
- name: Save NetXDuo bundle cache
if: github.ref == 'refs/heads/master' && steps.cache-netxduo.outputs.cache-hit != 'true'
uses: actions/cache/save@v5
with:
path: ./${{ env.NETXDUO_REF }}.tar.gz
key: netxduo-bundle-${{ env.NETXDUO_REF }}
- name: Extract NetXDuo bundle
run: |
mkdir -p netxduo_src
tar -xzf ${{ env.NETXDUO_REF }}.tar.gz -C netxduo_src --strip-components=1
- name: Install NetXDuo Dependencies
working-directory: ./netxduo_src
run: |
./scripts/install.sh
- name: Configure NetX with DNS Client Support
working-directory: ./netxduo_src
run: |
cp addons/dns/nxd_dns.h ./common/inc/
cp addons/dns/nxd_dns.c ./common/src/
- name: Build NetXDuo with DNS Support
working-directory: ./netxduo_src
run: |
rm -rf test/cmake/threadx
rm -rf test/cmake/filex
./scripts/build_nxd64.sh
- name: Build wolfSSL
uses: wolfSSL/actions-build-autotools-project@v1
with:
path: wolfssl
configure: --enable-enckeys --disable-examples --disable-benchmark --disable-crypttests CPPFLAGS="-DTHREADX -DHAVE_NETX -DWOLFSSL_USER_IO -I${{ github.workspace }}/netxduo_src/common/inc -I${{ github.workspace }}/netxduo_src/ports/linux/gnu/inc -I${{ github.workspace }}/netxduo_src/test/cmake/netxduo64/build/libs/inc" LDFLAGS="-L${{ github.workspace }}/netxduo_src/test/cmake/netxduo64/build/default_build_coverage/netxduo -L${{ github.workspace }}/netxduo_src/test/cmake/netxduo64/build/libs/threadx" LIBS="-lnetxduo -lthreadx"
install: false