diff --git a/.github/workflows/threadx.yml b/.github/workflows/threadx.yml new file mode 100644 index 000000000..0f243b670 --- /dev/null +++ b/.github/workflows/threadx.yml @@ -0,0 +1,62 @@ +name: ThreadXBuild Test + +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +jobs: + build: + + runs-on: ubuntu-22.04 + timeout-minutes: 10: + + steps: + - name: Cache NetXDuo bundle + id: cache-netxduo + uses: actions/cache@v3 + with: + path: ./v6.4.3_rel.tar.gz + key: netxduo-bundle-v6.4.3_rel + + - 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/v6.4.3_rel.tar.gz + + - name: Extract NetXDuo bundle + run: | + mkdir -p netxduo_src + tar -xzf v6.4.3_rel.tar.gz -C netxduo_src --strip-components=1 + + - name: Install NetXDuo Dependencies + working-directory: ./netxduo_src + run: | + ./scripts/install.sh + + - name: Build NetXDuo + working-directory: ./netxduo_src + run: | + rm -rf test/cmake/threadx + rm -rf test/cmake/filex + ./scripts/build_nxd64.sh + + - uses: actions/checkout@v4 + with: + repository: wolfssl/wolfssl + path: wolfssl + + - name: wolfssl autogen + working-directory: ./wolfssl + run: ./autogen.sh + + - name: wolfssl configure + working-directory: ./wolfssl + run: ./configure --enable-static --disable-shared --enable-enckeys --disable-examples --disable-benchmark --disable-crypttests CPPFLAGS="-DTHREADX -DHAVE_NETX -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 -lnetxduo -L${{ github.workspace }}/netxduo_src/test/cmake/netxduo64/build/libs/threadx -lthreadx" + + - name: wolfssl make + working-directory: ./wolfssl + run: | + sed -i 's/ -Werror//' Makefile + make