Skip to content

Commit 2246553

Browse files
[CI] Split Linux tests builds into separate steps with output clean in between (project-chip#41981)
* Update app builds for linux tests: - split builds into 2 app builds and one python build - remove out directory between app builds - remove the "retry without cache" on master: we do not have space to do a full rebuild * Fix a bit of id duplication and continue logic. --------- Co-authored-by: Andrei Litvin <[email protected]>
1 parent 43edfa0 commit 2246553

File tree

1 file changed

+56
-74
lines changed

1 file changed

+56
-74
lines changed

.github/workflows/tests.yaml

Lines changed: 56 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -259,16 +259,8 @@ jobs:
259259
src/app/zap-templates/zcl/data-model/chip/electrical-power-measurement-cluster.xml \
260260
src/app/zap-templates/zcl/data-model/chip/zone-management-cluster.xml \
261261
"
262-
- name: Build Apps
263-
id: build_with_cache
264-
continue-on-error: true
262+
- name: Build Apps (part 1)
265263
run: |
266-
./scripts/run_in_build_env.sh \
267-
"./scripts/build_python.sh \
268-
--install_virtual_env out/venv \
269-
--include_pytest_deps yes \
270-
$([ "${DISABLE_CCACHE}" != "true" ] && echo --enable-ccache) \
271-
"
272264
./scripts/run_in_build_env.sh \
273265
"./scripts/build/build_examples.py \
274266
--target linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT} \
@@ -277,6 +269,16 @@ jobs:
277269
--target linux-x64-ota-provider-${BUILD_VARIANT} \
278270
--target linux-x64-ota-requestor-${BUILD_VARIANT} \
279271
--target linux-x64-tv-app-${BUILD_VARIANT} \
272+
--pw-command-launcher=ccache \
273+
build \
274+
--copy-artifacts-to objdir-clone \
275+
"
276+
- name: Clean out
277+
run: rm -rf out/
278+
- name: Build Apps (part 2)
279+
run: |
280+
./scripts/run_in_build_env.sh \
281+
"./scripts/build/build_examples.py \
280282
--target linux-x64-bridge-${BUILD_VARIANT} \
281283
--target linux-x64-lit-icd-${BUILD_VARIANT} \
282284
--target linux-x64-microwave-oven-${BUILD_VARIANT} \
@@ -288,57 +290,37 @@ jobs:
288290
build \
289291
--copy-artifacts-to objdir-clone \
290292
"
291-
- name: Retry build without cache on master
292-
if: ${{ steps.build_with_cache.outcome == 'failure' && github.ref == 'refs/heads/master' }}
293+
- name: Clean out
294+
run: rm -rf out/
295+
- name: Build Python
293296
run: |
294-
echo "CCACHE_DISABLE=1" >> $GITHUB_ENV
295-
echo "DISABLE_CCACHE=true" >> $GITHUB_ENV
296-
rm -rf "${GITHUB_WORKSPACE}/.ccache" || true
297297
./scripts/run_in_build_env.sh \
298298
"./scripts/build_python.sh \
299299
--install_virtual_env out/venv \
300300
--include_pytest_deps yes \
301+
$([ "${DISABLE_CCACHE}" != "true" ] && echo --enable-ccache) \
301302
"
302-
./scripts/run_in_build_env.sh \
303-
"./scripts/build/build_examples.py \
304-
--target linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT} \
305-
--target linux-x64-all-clusters-${BUILD_VARIANT} \
306-
--target linux-x64-lock-${BUILD_VARIANT} \
307-
--target linux-x64-ota-provider-${BUILD_VARIANT} \
308-
--target linux-x64-ota-requestor-${BUILD_VARIANT} \
309-
--target linux-x64-tv-app-${BUILD_VARIANT} \
310-
--target linux-x64-bridge-${BUILD_VARIANT} \
311-
--target linux-x64-lit-icd-${BUILD_VARIANT} \
312-
--target linux-x64-microwave-oven-${BUILD_VARIIANT} \
313-
--target linux-x64-rvc-${BUILD_VARIANT} \
314-
--target linux-x64-network-manager-${BUILD_VARIANT} \
315-
--target linux-x64-energy-gateway-${BUILD_VARIIANT} \
316-
--target linux-x64-energy-management-${BUILD_VARIANT} \
317-
build \
318-
--copy-artifacts-to objdir-clone \
319-
"
320-
321303
- name: Run Tests using the python parser sending commands to chip-tool
322304
run: |
323305
./scripts/run_in_build_env.sh \
324306
"./scripts/tests/run_test_suite.py \
325307
--runner chip_tool_python \
326-
--chip-tool ./out/linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \
308+
--chip-tool ./objdir-clone/linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \
327309
run \
328310
--iterations 1 \
329311
--test-timeout-seconds 120 \
330-
--all-clusters-app ./out/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
331-
--lock-app ./out/linux-x64-lock-${BUILD_VARIANT}/chip-lock-app \
332-
--ota-provider-app ./out/linux-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \
333-
--ota-requestor-app ./out/linux-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \
334-
--tv-app ./out/linux-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \
335-
--bridge-app ./out/linux-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \
336-
--lit-icd-app ./out/linux-x64-lit-icd-${BUILD_VARIANT}/lit-icd-app \
337-
--microwave-oven-app ./out/linux-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
338-
--rvc-app ./out/linux-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
339-
--network-manager-app ./out/linux-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
340-
--energy-gateway-app ./out/linux-x64-energy-gateway-${BUILD_VARIANT}/chip-energy-gateway-app \
341-
--energy-management-app ./out/linux-x64-energy-management-${BUILD_VARIANT}/chip-energy-management-app \
312+
--all-clusters-app ./objdir-clone/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
313+
--lock-app ./objdir-clone/linux-x64-lock-${BUILD_VARIANT}/chip-lock-app \
314+
--ota-provider-app ./objdir-clone/linux-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \
315+
--ota-requestor-app ./objdir-clone/linux-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \
316+
--tv-app ./objdir-clone/linux-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \
317+
--bridge-app ./objdir-clone/linux-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \
318+
--lit-icd-app ./objdir-clone/linux-x64-lit-icd-${BUILD_VARIANT}/lit-icd-app \
319+
--microwave-oven-app ./objdir-clone/linux-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
320+
--rvc-app ./objdir-clone/linux-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
321+
--network-manager-app ./objdir-clone/linux-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
322+
--energy-gateway-app ./objdir-clone/linux-x64-energy-gateway-${BUILD_VARIANT}/chip-energy-gateway-app \
323+
--energy-management-app ./objdir-clone/linux-x64-energy-management-${BUILD_VARIANT}/chip-energy-management-app \
342324
"
343325
344326
- name: Run purposeful failure tests using the python parser sending commands to chip-tool
@@ -347,13 +329,13 @@ jobs:
347329
"./scripts/tests/run_test_suite.py \
348330
--runner chip_tool_python \
349331
--include-tags PURPOSEFUL_FAILURE \
350-
--chip-tool ./out/linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \
332+
--chip-tool ./objdir-clone/linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \
351333
run \
352334
--iterations 1 \
353335
--expected-failures 3 \
354336
--keep-going \
355337
--test-timeout-seconds 120 \
356-
--all-clusters-app ./out/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
338+
--all-clusters-app ./objdir-clone/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
357339
"
358340
359341
- name: Run BLE-WiFi commissioning test
@@ -367,11 +349,11 @@ jobs:
367349
"./scripts/tests/run_test_suite.py \
368350
--runner chip_tool_python \
369351
--target TestOperationalState \
370-
--chip-tool ./out/linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \
352+
--chip-tool ./objdir-clone/linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \
371353
run \
372354
--iterations 1 \
373355
--test-timeout-seconds 120 \
374-
--all-clusters-app ./out/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
356+
--all-clusters-app ./objdir-clone/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
375357
--ble-wifi \
376358
"
377359
@@ -390,18 +372,18 @@ jobs:
390372
run \
391373
--iterations 1 \
392374
--test-timeout-seconds 120 \
393-
--all-clusters-app ./out/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
394-
--lock-app ./out/linux-x64-lock-${BUILD_VARIANT}/chip-lock-app \
395-
--ota-provider-app ./out/linux-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \
396-
--ota-requestor-app ./out/linux-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \
397-
--tv-app ./out/linux-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \
398-
--bridge-app ./out/linux-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \
399-
--lit-icd-app ./out/linux-x64-lit-icd-${BUILD_VARIANT}/lit-icd-app \
400-
--microwave-oven-app ./out/linux-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
401-
--rvc-app ./out/linux-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
402-
--network-manager-app ./out/linux-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
403-
--energy-gateway-app ./out/linux-x64-energy-gateway-${BUILD_VARIANT}/chip-energy-gateway-app \
404-
--energy-management-app ./out/linux-x64-energy-management-${BUILD_VARIANT}/chip-energy-management-app \
375+
--all-clusters-app ./objdir-clone/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
376+
--lock-app ./objdir-clone/linux-x64-lock-${BUILD_VARIANT}/chip-lock-app \
377+
--ota-provider-app ./objdir-clone/linux-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \
378+
--ota-requestor-app ./objdir-clone/linux-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \
379+
--tv-app ./objdir-clone/linux-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \
380+
--bridge-app ./objdir-clone/linux-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \
381+
--lit-icd-app ./objdir-clone/linux-x64-lit-icd-${BUILD_VARIANT}/lit-icd-app \
382+
--microwave-oven-app ./objdir-clone/linux-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
383+
--rvc-app ./objdir-clone/linux-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
384+
--network-manager-app ./objdir-clone/linux-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
385+
--energy-gateway-app ./objdir-clone/linux-x64-energy-gateway-${BUILD_VARIANT}/chip-energy-gateway-app \
386+
--energy-management-app ./objdir-clone/linux-x64-energy-management-${BUILD_VARIANT}/chip-energy-management-app \
405387
"
406388
- name: Run Tests using matter-repl (including slow)
407389
if: github.event_name == 'push'
@@ -412,18 +394,18 @@ jobs:
412394
run \
413395
--iterations 1 \
414396
--test-timeout-seconds 120 \
415-
--all-clusters-app ./out/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
416-
--lock-app ./out/linux-x64-lock-${BUILD_VARIANT}/chip-lock-app \
417-
--ota-provider-app ./out/linux-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \
418-
--ota-requestor-app ./out/linux-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \
419-
--tv-app ./out/linux-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \
420-
--bridge-app ./out/linux-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \
421-
--lit-icd-app ./out/linux-x64-lit-icd-${BUILD_VARIANT}/lit-icd-app \
422-
--microwave-oven-app ./out/linux-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
423-
--rvc-app ./out/linux-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
424-
--network-manager-app ./out/linux-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
425-
--energy-gateway-app ./out/linux-x64-energy-gateway-${BUILD_VARIANT}/chip-energy-gateway-app \
426-
--energy-management-app ./out/linux-x64-energy-management-${BUILD_VARIANT}/chip-energy-management-app \
397+
--all-clusters-app ./objdir-clone/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
398+
--lock-app ./objdir-clone/linux-x64-lock-${BUILD_VARIANT}/chip-lock-app \
399+
--ota-provider-app ./objdir-clone/linux-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \
400+
--ota-requestor-app ./objdir-clone/linux-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \
401+
--tv-app ./objdir-clone/linux-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \
402+
--bridge-app ./objdir-clone/linux-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \
403+
--lit-icd-app ./objdir-clone/linux-x64-lit-icd-${BUILD_VARIANT}/lit-icd-app \
404+
--microwave-oven-app ./objdir-clone/linux-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
405+
--rvc-app ./objdir-clone/linux-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
406+
--network-manager-app ./objdir-clone/linux-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
407+
--energy-gateway-app ./objdir-clone/linux-x64-energy-gateway-${BUILD_VARIANT}/chip-energy-gateway-app \
408+
--energy-management-app ./objdir-clone/linux-x64-energy-management-${BUILD_VARIANT}/chip-energy-management-app \
427409
"
428410
- name: Uploading core files
429411
uses: actions/upload-artifact@v5

0 commit comments

Comments
 (0)