Skip to content

Commit 33a340a

Browse files
author
Emil Popov
committed
'upstream/main' into MCast_PR
2 parents 900bb68 + 5e55153 commit 33a340a

File tree

121 files changed

+1906
-2954
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+1906
-2954
lines changed

.github/.cSpellWords.txt

+966
Large diffs are not rendered by default.

.github/workflows/ci.yml

+184-58
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,66 @@ on:
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+
1016
jobs:
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:
@@ -80,7 +94,7 @@ jobs:
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

Comments
 (0)