| steps: |
| - name: "connectedhomeip/chip-build-vscode:0.6.18" |
| entrypoint: "bash" |
| args: |
| - "-c" |
| - | |
| git config --global --add safe.directory "*" |
| git submodule update --init --recursive |
| id: Submodules |
| - name: "connectedhomeip/chip-build-vscode:0.6.18" |
| env: |
| - PW_ENVIRONMENT_ROOT=/pwenv |
| args: |
| - "-c" |
| - source ./scripts/bootstrap.sh |
| id: Bootstrap |
| waitFor: |
| - Submodules |
| entrypoint: /usr/bin/bash |
| volumes: |
| - name: pwenv |
| path: /pwenv |
| timeout: 900s |
| |
| - name: "connectedhomeip/chip-build-vscode:0.6.18" |
| id: ESP32 |
| env: |
| - PW_ENVIRONMENT_ROOT=/pwenv |
| args: |
| - >- |
| ./scripts/build/build_examples.py --enable-flashbundle --target |
| esp32-m5stack-all-clusters-ipv6only --target |
| esp32-m5stack-all-clusters-minimal-rpc-ipv6only --target |
| esp32-m5stack-all-clusters-rpc --target |
| esp32-m5stack-ota-requestor build --create-archives |
| /workspace/artifacts/ |
| waitFor: |
| - Bootstrap |
| entrypoint: ./scripts/run_in_build_env.sh |
| volumes: |
| - name: pwenv |
| path: /pwenv |
| |
| - name: "connectedhomeip/chip-build-vscode:0.6.18" |
| id: NRFConnect |
| env: |
| - PW_ENVIRONMENT_ROOT=/pwenv |
| args: |
| - >- |
| ./scripts/build/build_examples.py --enable-flashbundle |
| --target nrf-nrf52840dk-light |
| --target nrf-nrf52840dk-light-rpc |
| --target nrf-nrf52840dk-lock |
| --target nrf-nrf52840dongle-light |
| build |
| --create-archives /workspace/artifacts/ |
| waitFor: |
| - Bootstrap |
| - ESP32 |
| entrypoint: ./scripts/run_in_build_env.sh |
| volumes: |
| - name: pwenv |
| path: /pwenv |
| |
| - name: "connectedhomeip/chip-build-vscode:0.6.18" |
| id: EFR32 |
| env: |
| - PW_ENVIRONMENT_ROOT=/pwenv |
| args: |
| - >- |
| ./scripts/build/build_examples.py --enable-flashbundle |
| --target efr32-brd4161a-light |
| --target efr32-brd4161a-light-rpc |
| --target efr32-brd4161a-lock |
| --target efr32-brd4161a-lock-rpc |
| --target efr32-brd4161a-unit-test |
| build |
| --create-archives /workspace/artifacts/ |
| waitFor: |
| - Bootstrap |
| - NRFConnect |
| entrypoint: ./scripts/run_in_build_env.sh |
| volumes: |
| - name: pwenv |
| path: /pwenv |
| |
| - name: "connectedhomeip/chip-build-vscode:0.6.18" |
| id: Linux |
| env: |
| - PW_ENVIRONMENT_ROOT=/pwenv |
| args: |
| - >- |
| ./scripts/build/build_examples.py |
| --enable-flashbundle |
| --target linux-arm64-all-clusters-clang |
| --target linux-arm64-all-clusters-app-nodeps-ipv6only-clang |
| --target linux-arm64-all-clusters-minimal-ipv6only-clang |
| --target linux-arm64-bridge-ipv6only-clang |
| --target linux-arm64-chip-tool-ipv6only-clang |
| --target linux-arm64-chip-tool-nodeps-ipv6only-clang |
| --target linux-arm64-dynamic-bridge-ipv6only-clang |
| --target linux-arm64-light-clang-rpc-ipv6only |
| --target linux-arm64-light-clang-rpc-ipv6only-minmdns-verbose |
| --target linux-arm64-lock-ipv6only-clang |
| --target linux-arm64-minmdns-clang |
| --target linux-arm64-ota-provider-nodeps-ipv6only-clang |
| --target linux-arm64-ota-requestor-nodeps-ipv6only-clang |
| --target linux-arm64-python-bindings-clang |
| --target linux-arm64-shell-ipv6only-clang |
| --target linux-arm64-thermostat-ipv6only-clang |
| --target linux-arm64-tv-app-ipv6only-clang |
| --target linux-arm64-tv-casting-app-ipv6only-clang |
| --target linux-x64-address-resolve-tool |
| --target linux-x64-all-clusters-app-nodeps-ipv6only |
| --target linux-x64-all-clusters-coverage |
| --target linux-x64-bridge-ipv6only |
| --target linux-x64-chip-cert |
| --target linux-x64-chip-tool-ipv6only |
| --target linux-x64-chip-tool-ipv6only-minmdns-verbose |
| --target linux-x64-dynamic-bridge-ipv6only |
| --target linux-x64-efr32-test-runner |
| --target linux-x64-light-rpc-ipv6only |
| --target linux-x64-light-rpc-ipv6only-minmdns-verbose |
| --target linux-x64-lock-ipv6only |
| --target linux-x64-minmdns-ipv6only |
| --target linux-x64-minmdns-ipv6only-minmdns-verbose |
| --target linux-x64-ota-provider-ipv6only |
| --target linux-x64-ota-requestor-ipv6only |
| --target linux-x64-python-bindings |
| --target linux-x64-rpc-console |
| --target linux-x64-shell-ipv6only |
| --target linux-x64-thermostat-ipv6only |
| --target linux-x64-tv-app-ipv6only |
| --target linux-x64-tv-casting-app-ipv6only |
| build |
| --create-archives /workspace/artifacts/ |
| waitFor: |
| - Bootstrap |
| - EFR32 |
| entrypoint: ./scripts/run_in_build_env.sh |
| volumes: |
| - name: pwenv |
| path: /pwenv |
| |
| - name: "connectedhomeip/chip-build-vscode:0.6.18" |
| id: Android |
| env: |
| - PW_ENVIRONMENT_ROOT=/pwenv |
| args: |
| - >- |
| ./scripts/build/build_examples.py --enable-flashbundle |
| --target 'android-arm64-chip-tool' |
| build |
| --create-archives /workspace/artifacts/ |
| waitFor: |
| - Bootstrap |
| - Linux |
| entrypoint: ./scripts/run_in_build_env.sh |
| volumes: |
| - name: pwenv |
| path: /pwenv |
| |
| logsBucket: matter-build-automation-build-logs |
| |
| # Global timeout for all steps |
| timeout: 9000s |
| queueTtl: 21600s |
| |
| artifacts: |
| objects: |
| location: "gs://matter-build-automation-artifacts/$PROJECT_ID/$COMMIT_SHA/" |
| paths: ["/workspace/artifacts/*.tar.gz"] |
| |
| # Using higher CPU machines generally speeds up builds by > 4x (faster as we spend more time |
| # building instead of docker download/checkout/bootstrap) |
| options: |
| machineType: "E2_HIGHCPU_32" |
| diskSizeGb: 500 |