forked from wolfSSL/wolfssl
-
Notifications
You must be signed in to change notification settings - Fork 0
73 lines (60 loc) · 2.56 KB
/
Copy paththreadx.yml
File metadata and controls
73 lines (60 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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