| steps: |
| - name: "ghcr.io/project-chip/chip-build-vscode:50" |
| entrypoint: "bash" |
| args: |
| - "-c" |
| - | |
| git config --global --add safe.directory "*" |
| python scripts/checkout_submodules.py --shallow --recursive --platform esp32 nrfconnect silabs linux android |
| id: Submodules |
| - name: "ghcr.io/project-chip/chip-build-vscode:50" |
| # NOTE: silabs boostrap is NOT done with the rest as it requests a conflicting |
| # jinja2 version (asks for 3.1.3 when constraints.txt asks for 3.0.3) |
| env: |
| - PW_ENVIRONMENT_ROOT=/pwenv |
| args: |
| - "-c" |
| - source ./scripts/bootstrap.sh -p all,esp32,nrfconnect,linux,android |
| id: Bootstrap |
| waitFor: |
| - Submodules |
| entrypoint: /usr/bin/bash |
| volumes: |
| - name: pwenv |
| path: /pwenv |
| timeout: 900s |
| - name: "ghcr.io/project-chip/chip-build-vscode:50" |
| env: |
| - PW_ENVIRONMENT_ROOT=/pwenv |
| args: |
| - >- |
| perl -i -pe 's/^gdbgui==/# gdbgui==/' /opt/espressif/esp-idf/requirements.txt && |
| ./examples/chef/chef.py --build_all --build_exclude noip\|roboticvacuumcleaner |
| id: CompileAll |
| waitFor: |
| - Bootstrap |
| entrypoint: ./scripts/run_in_build_env.sh |
| volumes: |
| - name: pwenv |
| path: /pwenv |
| |
| - name: "ghcr.io/project-chip/chip-build-vscode:50" |
| env: |
| - PW_ENVIRONMENT_ROOT=/pwenv |
| args: |
| - ./examples/chef/chef.py --build_all --build_include |
| linux_arm64_ipv6only.*noip |
| # Temporarely allow failure since this is known to fail: |
| # AppMain tries to setup commissioning in general (even if all things are |
| # disabled, ethernet assumes network commissioning cluster) and link fails |
| # when the cluster is fully disabled |
| # TODO: completely remove this target or fix compilation |
| allowFailure: true |
| id: CompileNoip |
| waitFor: |
| - CompileAll |
| entrypoint: ./scripts/run_in_build_env.sh |
| volumes: |
| - name: pwenv |
| path: /pwenv |
| |
| - name: "gcr.io/cloud-builders/docker" |
| args: |
| [ |
| "/workspace/examples/chef/create_docker.py", |
| "--commit_sha", |
| "$COMMIT_SHA", |
| "--short_sha", |
| "$SHORT_SHA", |
| "--revision_id", |
| "$REVISION_ID", |
| "--build_id", |
| "$BUILD_ID", |
| "--image_name", |
| "$_DOCKER_IMAGE_NAME", |
| "--tar_path", |
| "/workspace/artifacts", |
| ] |
| id: DockerAll |
| entrypoint: python3 |
| waitFor: |
| - CompileNoip |
| |
| logsBucket: matter-build-automation-build-logs |
| |
| # Global timeout for all steps |
| timeout: 36000s |
| 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, except bootstrap is always |
| # slow. |
| options: |
| machineType: "E2_HIGHCPU_32" |
| diskSizeGb: 500 |