77 branches : ["**"]
88 workflow_dispatch :
99
10+ env :
11+ bashPass : \033[32;1mPASSED -
12+ bashWarn : \033[33;1mWARNING -
13+ bashFail : \033[31;1mFAILED -
14+ bashEnd : \033[0m
15+
1016jobs :
1117 unittest :
1218 runs-on : ubuntu-latest
1319 steps :
1420 - name : Clone This Repo
15- uses : actions/checkout@v2
21+ uses : actions/checkout@v3
1622 with :
1723 submodules : recursive
18- - name : Build
24+ - env :
25+ stepName : Build Unit Tests
26+ name : ${{ env.stepName }}
1927 run : |
28+ # ${{ env.stepName }}
29+ echo "::group::Install Dependencies"
2030 git submodule update --checkout
2131 cd tools/CMock
2232 git submodule update --init vendor/unity
2333 cd ../..
2434 sudo apt-get install -y lcov
2535 sudo apt-get install -y unifdef
36+ echo "::endgroup::"
37+
38+ echo "::group:: ${{ env.stepName }}"
2639 cmake -S test/unit-test -B test/unit-test/build/
2740 make -C test/unit-test/build/ all
28- - name : Test
41+ echo "::endgroup::"
42+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
43+
44+ - env :
45+ stepName : Run Unit Tests
46+ name : ${{ env.stepName }}
47+ shell : bash
2948 run : |
30- cd test/unit-test/build/
31- ctest -E system --output-on-failure
32- cd ..
33- - name : Coverage
49+ # ${{ env.stepName }}
50+ echo "::group:: ${{ env.stepName }}"
51+ ctest --test-dir test/unit-test/build/ -E system --output-on-failure
52+ echo "::endgroup::"
53+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
54+
55+ - env :
56+ stepName : Test Line and Branch Coverage
57+ name : ${{ env.stepName }}
58+ shell : bash
3459 run : |
60+ # ${{ env.stepName }}
61+ echo "::group::Build Tests"
3562 make -C test/unit-test/build/ coverage
63+ echo "::endgroup::"
64+ echo -e "${{ env.bashPass }} Built Coverage Tests ${{ env.bashEnd }}"
65+
3666 lcov --list --rc lcov_branch_coverage=1 test/unit-test/build/coverage.info
67+
68+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
69+
3770 - name : Check Coverage
3871 uses : FreeRTOS/CI-CD-Github-Actions/coverage-cop@main
3972 with :
@@ -42,36 +75,17 @@ jobs:
4275 spell-check :
4376 runs-on : ubuntu-latest
4477 steps :
45- - name : Checkout Parent Repo
46- uses : actions/checkout@v2
47- with :
48- ref : main
49- repository : aws/aws-iot-device-sdk-embedded-C
50- path : main
5178 - name : Clone This Repo
52- uses : actions/checkout@v2
79+ uses : actions/checkout@v3
80+ - name : Run spellings check
81+ uses : FreeRTOS/CI-CD-Github-Actions/spellings@main
5382 with :
54- path : ./tcp
55- - name : Install spell
56- run : |
57- sudo apt-get install spell
58- sudo apt-get install util-linux
59- - name : Check spelling
60- run : |
61- PATH=$PATH:main/tools/spell
62- # Make sure that the portable directory is not included in the spellcheck.
63- sed -i 's/find $DIRNAME/find $DIRNAME -not -path '*portable*'/g' main/tools/spell/find-unknown-comment-words
64- find-unknown-comment-words --directory tcp/ --lexicon tcp/lexicon.txt
65- if [ "$?" = "0" ]; then
66- exit 0
67- else
68- exit 1
69- fi
83+ path : ./
7084
7185 formatting :
7286 runs-on : ubuntu-20.04
7387 steps :
74- - uses : actions/checkout@v2
88+ - uses : actions/checkout@v3
7589 - name : Check formatting
7690 uses : FreeRTOS/CI-CD-Github-Actions/formatting@main
7791 with :
8094 doxygen :
8195 runs-on : ubuntu-latest
8296 steps :
83- - uses : actions/checkout@v2
97+ - uses : actions/checkout@v3
8498 - name : Run doxygen build
8599 uses : FreeRTOS/CI-CD-Github-Actions/doxygen@main
86100 with :
@@ -102,56 +116,130 @@ jobs:
102116 run : git submodule update --checkout --init --recursive
103117
104118 - name : Run manifest verifier
105- uses : FreeRTOS/CI-CD-GitHub-Actions/manifest-verifier@v2
119+ uses : FreeRTOS/CI-CD-GitHub-Actions/manifest-verifier@main
106120 with :
107121 path : ./
108122 fail-on-incorrect-version : true
109123
124+ link-verifier :
125+ runs-on : ubuntu-latest
126+ steps :
127+ - uses : actions/checkout@v3
128+ - name : Check Links
129+ env :
130+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
131+ uses : FreeRTOS/CI-CD-Github-Actions/link-verifier@main
132+
110133 build-checks :
111134 runs-on : ubuntu-latest
112135 steps :
113- - uses : actions/checkout@v2
114- - name : Build Install Dependencies
136+ - uses : actions/checkout@v3
137+ - env :
138+ stepName : Build Install Dependencies
139+ name : ${{ env.stepName }}
115140 run : |
141+ # ${{ env.stepName }}
142+ echo "::group:: ${{ env.stepName }}"
116143 sudo apt-get install -y libpcap-dev
117- - name : Build checks (Enable all functionalities)
144+ echo "::endgroup::"
145+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
146+
147+ - env :
148+ stepName : Build checks (Enable all functionalities)
149+ name : ${{ env.stepName }}
118150 run : |
151+ # ${{ env.stepName }}
152+ echo "::group:: ${{ env.stepName }}"
119153 cmake -S . -B build -DFREERTOS_PLUS_TCP_TEST_CONFIGURATION=ENABLE_ALL
120154 cmake --build build --target freertos_plus_tcp_build_test
121- - name : Build checks (Enable all functionalities IPv4)
155+ echo "::endgroup::"
156+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
157+
158+ - env :
159+ stepName : Build checks (Enable all functionalities IPv4)
160+ name : ${{ env.stepName }}
122161 run : |
162+ # ${{ env.stepName }}
163+ echo "::group:: ${{ env.stepName }}"
123164 cmake -S . -B build -DFREERTOS_PLUS_TCP_TEST_CONFIGURATION=ENABLE_ALL_IPV4
124165 cmake --build build --target clean
125166 cmake --build build --target freertos_plus_tcp_build_test
126- - name : Build checks (Enable all functionalities IPv6)
167+ echo "::endgroup::"
168+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
169+
170+ - env :
171+ stepName : Build checks (Enable all functionalities IPv6)
172+ name : ${{ env.stepName }}
127173 run : |
174+ # ${{ env.stepName }}
175+ echo "::group:: ${{ env.stepName }}"
128176 cmake -S . -B build -DFREERTOS_PLUS_TCP_TEST_CONFIGURATION=ENABLE_ALL_IPV6
129177 cmake --build build --target freertos_plus_tcp_build_test
130- - name : Build checks (Enable all functionalities IPv4 IPv6)
178+ echo "::endgroup::"
179+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
180+
181+ - env :
182+ stepName : Build checks (Enable all functionalities IPv4 IPv6)
183+ name : ${{ env.stepName }}
131184 run : |
185+ # ${{ env.stepName }}
186+ echo "::group:: ${{ env.stepName }}"
132187 cmake -S . -B build -DFREERTOS_PLUS_TCP_TEST_CONFIGURATION=ENABLE_ALL_IPV4_IPV6
133188 cmake --build build --target clean
134189 cmake --build build --target freertos_plus_tcp_build_test
135- - name : Build checks (Enable all functionalities IPv4 TCP)
190+ echo "::endgroup::"
191+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
192+
193+ - env :
194+ stepName : Build checks (Enable all functionalities IPv4 TCP)
195+ name : ${{ env.stepName }}
136196 run : |
197+ # ${{ env.stepName }}
198+ echo "::group:: ${{ env.stepName }}"
137199 cmake -S . -B build -DFREERTOS_PLUS_TCP_TEST_CONFIGURATION=ENABLE_ALL_IPV4_TCP
138200 cmake --build build --target clean
139201 cmake --build build --target freertos_plus_tcp_build_test
140- - name : Build checks (Enable all functionalities IPv6 TCP)
202+ echo "::endgroup::"
203+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
204+
205+ - env :
206+ stepName : Build checks (Enable all functionalities IPv6 TCP)
207+ name : ${{ env.stepName }}
141208 run : |
209+ # ${{ env.stepName }}
210+ echo "::group:: ${{ env.stepName }}"
142211 cmake -S . -B build -DFREERTOS_PLUS_TCP_TEST_CONFIGURATION=ENABLE_ALL_IPV6_TCP
143212 cmake --build build --target freertos_plus_tcp_build_test
144- - name : Build checks (Disable all functionalities)
213+ echo "::endgroup::"
214+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
215+
216+ - env :
217+ stepName : Build checks (Disable all functionalities)
218+ name : ${{ env.stepName }}
145219 run : |
220+ # ${{ env.stepName }}
221+ echo "::group:: ${{ env.stepName }}"
146222 cmake -S . -B build -DFREERTOS_PLUS_TCP_TEST_CONFIGURATION=DISABLE_ALL
147223 cmake --build build --target clean
148224 cmake --build build --target freertos_plus_tcp_build_test
149- - name : Build checks (Default configuration)
225+ echo "::endgroup::"
226+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
227+
228+ - env :
229+ stepName : Build checks (Default configuration)
230+ name : ${{ env.stepName }}
150231 run : |
232+ # ${{ env.stepName }}
233+ echo "::group:: ${{ env.stepName }}"
151234 cmake -S . -B build -DFREERTOS_PLUS_TCP_TEST_CONFIGURATION=DEFAULT_CONF
152235 cmake --build build --target clean
153236 cmake --build build --target freertos_plus_tcp_build_test
154- - name : Build checks (Header Self Contain)
237+ echo "::endgroup::"
238+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
239+
240+ - env :
241+ stepName : Build checks (Header Self Contain)
242+ shell : bash
155243 run : |
156244 cmake -S . -B build -DFREERTOS_PLUS_TCP_TEST_CONFIGURATION=HEADER_SELF_CONTAIN
157245 cmake --build build --target clean
@@ -167,13 +255,24 @@ jobs:
167255 complexity :
168256 runs-on : ubuntu-latest
169257 steps :
170- - uses : actions/checkout@v2
171- - name : Setup
172- run : sudo apt-get install complexity
173- - name : Install Uncrustify
174- run : sudo apt-get install uncrustify
175- - name : Complexity
258+ - uses : actions/checkout@v3
259+ - env :
260+ stepName : Setup
261+ name : ${{ env.stepName }}
262+ run : |
263+ # ${{ env.stepName }}
264+ echo "::group:: ${{ env.stepName }}"
265+ sudo apt-get install complexity
266+ sudo apt-get install uncrustify
267+ echo "::endgroup::"
268+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
269+
270+ - env :
271+ stepName : Complexity
272+ name : ${{ env.stepName }}
176273 run : |
274+ # ${{ env.stepName }}
275+ echo "::group:: ${{ env.stepName }}"
177276 COMPLEXITY_PARAMS="--scores --threshold=10 --horrid-threshold=283"
178277 TEMP_DIR=./temp
179278 mkdir -p ${TEMP_DIR}
@@ -187,44 +286,71 @@ jobs:
187286 find ${TEMP_DIR} -iname '*.c' | xargs complexity ${COMPLEXITY_PARAMS}
188287 RESULT=$?
189288 rm -rf ${TEMP_DIR}
289+ echo "::endgroup::"
190290 if [ "${RESULT}" = "0" ]; then
191- echo "All is good. "
291+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }} "
192292 exit 0
193293 else
194- echo "Sources are too complex, rc = " ${RESULT}
294+ echo -e "${{ env.bashFail }} Sources are too complex, rc = ${RESULT} ${{ env.bashEnd }}"
295+ echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
195296 exit 1
196297 fi
197298
198299 git-secrets :
199300 runs-on : ubuntu-latest
200301 steps :
201- - uses : actions/checkout@v2
302+ - uses : actions/checkout@v3
202303 with :
203304 submodules : recursive
204305 - name : Checkout awslabs/git-secrets
205- uses : actions/checkout@v2
306+ uses : actions/checkout@v3
206307 with :
207308 repository : awslabs/git-secrets
208309 ref : master
209310 path : git-secrets
210- - name : Install git-secrets
211- run : cd git-secrets && sudo make install && cd ..
212- - name : Run git-secrets
311+ - env :
312+ stepName : Install git-secrets
313+ name : ${{ env.stepName }}
314+ run : |
315+ # ${{ env.stepName }}
316+ echo "::group:: ${{ env.stepName }}"
317+ cd git-secrets && sudo make install && cd ..
318+ echo "::endgroup::"
319+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
320+
321+ - env :
322+ stepName : Run git-secrets
323+ name : ${{ env.stepName }}
213324 run : |
325+ # ${{ env.stepName }}
326+ echo "::group:: ${{ env.stepName }}"
214327 git-secrets --register-aws
215328 git-secrets --scan
329+ echo "::endgroup::"
330+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
216331
217332 proof_ci :
333+ if : ${{ github.event.pull_request }}
218334 runs-on : cbmc_ubuntu-latest_16-core
219335 steps :
220336 - name : Set up CBMC runner
221337 uses : FreeRTOS/CI-CD-Github-Actions/set_up_cbmc_runner@main
222338 with :
223339 cbmc_version : " 5.61.0"
224- - run : |
340+
341+ - env :
342+ stepName : Install Dependencies
343+ name : ${{ env.stepName }}
344+ shell : bash
345+ run : |
346+ # ${{ env.stepName }}
347+ echo "::group:: ${{ env.stepName }}"
225348 git submodule update --init --checkout --recursive
226349 sudo apt-get update
227350 sudo apt-get install --yes --no-install-recommends gcc-multilib
351+ echo "::endgroup::"
352+ echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
353+
228354 - name : Run CBMC
229355 uses : FreeRTOS/CI-CD-Github-Actions/run_cbmc@main
230356 with :
0 commit comments