1# This is a basic workflow that is manually triggered
2
3name: regression_test
4
5# Controls when the action will run. Triggers the workflow on push or pull request
6# events but only for the master branch
7on:
8  workflow_dispatch:
9  push:
10    branches: [ master ]
11  pull_request:
12    branches: [ master ]
13
14# A workflow run is made up of one or more jobs that can run sequentially or in parallel
15jobs:
16  NetXDuo:
17    permissions:
18      contents: read
19      issues: read
20      checks: write
21      pull-requests: write
22      pages: write
23      id-token: write
24    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
25    with:
26      build_script: ./scripts/build_nxd.sh
27      test_script: ./scripts/test_nxd.sh
28      cmake_path: ./test/cmake/netxduo
29      result_affix: NetXDuo
30      skip_deploy: true
31  Web:
32    permissions:
33      contents: read
34      issues: read
35      checks: write
36      pull-requests: write
37      pages: write
38      id-token: write
39    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
40    with:
41      build_script: ./scripts/build_web.sh
42      test_script: ./scripts/test_web.sh
43      cmake_path: ./test/cmake/web
44      result_affix: Web
45      skip_deploy: true
46  PTP:
47    permissions:
48      contents: read
49      issues: read
50      checks: write
51      pull-requests: write
52      pages: write
53      id-token: write
54    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
55    with:
56      build_script: ./scripts/build_ptp.sh
57      test_script: ./scripts/test_ptp.sh
58      cmake_path: ./test/cmake/ptp
59      result_affix: PTP
60      skip_deploy: true
61  MQTT:
62    permissions:
63      contents: read
64      issues: read
65      checks: write
66      pull-requests: write
67      pages: write
68      id-token: write
69    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
70    with:
71      build_script: ./scripts/build_mqtt.sh
72      test_script: ./scripts/test_mqtt.sh
73      cmake_path: ./test/cmake/mqtt
74      result_affix: MQTT
75      skip_deploy: true
76  NetXDuo64:
77    permissions:
78      contents: read
79      issues: read
80      checks: write
81      pull-requests: write
82      pages: write
83      id-token: write
84    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
85    with:
86      build_script: ./scripts/build_nxd64.sh
87      test_script: ./scripts/test_nxd64.sh
88      cmake_path: ./test/cmake/netxduo64
89      result_affix: NetXDuo64
90      skip_deploy: true
91  NetXDuo_Fast:
92    permissions:
93      contents: read
94      issues: read
95      checks: write
96      pull-requests: write
97      pages: write
98      id-token: write
99    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
100    with:
101      build_script: ./scripts/build_nxd_fast.sh
102      test_script: ./scripts/test_nxd_fast.sh
103      cmake_path: ./test/cmake/netxduo_fast
104      result_affix: NetXDuo_Fast
105      skip_deploy: true
106      skip_coverage: true
107  Azure_IoT:
108    permissions:
109      contents: read
110      issues: read
111      checks: write
112      pull-requests: write
113      pages: write
114      id-token: write
115    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
116    with:
117      build_script: ./scripts/build_azure_iot.sh
118      test_script: ./scripts/test_azure_iot.sh
119      cmake_path: ./test/cmake/azure_iot
120      result_affix: Azure_IoT
121      skip_deploy: true
122  Azure_IoT_Windows:
123    permissions:
124      contents: read
125      issues: read
126      checks: write
127      pull-requests: write
128    runs-on: windows-2019
129    steps:
130    - name: Check out the repository
131      uses: actions/checkout@v4
132      with:
133        submodules: true
134    - name: Checkout submodules
135      run: |
136        if (!(Test-Path ./test/cmake/threadx)) {git clone https://github.com/eclipse-threadx/threadx.git ./test/cmake/threadx --depth 1}
137    - name: CMake
138      run: |
139        mkdir build
140        cd build
141        cmake ../test/cmake/azure_iot -A Win32
142    - name: Build
143      run: |
144        cd build
145        cmake --build .
146  Secure:
147    permissions:
148      contents: read
149      issues: read
150      checks: write
151      pull-requests: write
152      pages: write
153      id-token: write
154    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
155    with:
156      build_script: ./scripts/build_secure.sh
157      test_script: ./scripts/test_secure.sh
158      cmake_path: ./test/cmake/nx_secure
159      result_affix: Secure
160      skip_deploy: true
161  Crypto:
162    permissions:
163      contents: read
164      issues: read
165      checks: write
166      pull-requests: write
167      pages: write
168      id-token: write
169    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
170    with:
171      build_script: ./scripts/build_crypto.sh
172      test_script: ./scripts/test_crypto.sh
173      cmake_path: ./test/cmake/crypto
174      result_affix: Crypto
175      skip_deploy: true
176  Secure_Interoperability:
177    permissions:
178      contents: read
179      issues: read
180      checks: write
181      pull-requests: write
182      pages: write
183      id-token: write
184    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
185    with:
186      install_script: ./scripts/install_secure.sh
187      build_script: ./scripts/build_secure_interoperability.sh
188      test_script: ./scripts/test_secure_interoperability.sh
189      cmake_path: ./test/cmake/nx_secure_interoperability
190      result_affix: Secure_Interoperability
191      skip_deploy: true
192  MQTT_Interoperability:
193    permissions:
194      contents: read
195      issues: read
196      checks: write
197      pull-requests: write
198      pages: write
199      id-token: write
200    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
201    with:
202      install_script: ./scripts/install_mqtt.sh
203      build_script: ./scripts/build_mqtt_interoperability.sh
204      test_script: ./scripts/test_mqtt_interoperability.sh
205      cmake_path: ./test/cmake/mqtt_interoperability
206      result_affix: MQTT_Interoperability
207      skip_deploy: true
208  Deploy:
209    permissions:
210      contents: read
211      issues: read
212      checks: write
213      pull-requests: write
214      pages: write
215      id-token: write
216    needs: [NetXDuo, Web, MQTT, NetXDuo64, NetXDuo_Fast, Azure_IoT, Secure, Crypto, Secure_Interoperability, MQTT_Interoperability]
217    uses: eclipse-threadx/threadx/.github/workflows/regression_template.yml@master
218    with:
219      skip_test: true
220      deploy_list: "NetXDuo Web MQTT NetXDuo64 NetXDuo_Fast Azure_IoT Secure Crypto Secure_Interoperability MQTT_Interoperability"
221