# Copyright (c) 2020-2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: Tests

on:
    push:
    pull_request:
    workflow_dispatch:

concurrency:
    group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name ==
        'pull_request' && github.event.number) || (github.event_name ==
        'workflow_dispatch' && github.run_number) || github.sha }}
    cancel-in-progress: true

jobs:
    test_suites_linux:
        name: Test Suites - Linux
        timeout-minutes: 145

        strategy:
            matrix:
                build_variant: [no-ble-tsan-clang]
                chip_tool: [""]
        env:
            BUILD_VARIANT: ${{matrix.build_variant}}
            CHIP_TOOL_VARIANT: ${{matrix.chip_tool}}
            TSAN_OPTIONS: "halt_on_error=1 suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt"
            LSAN_OPTIONS: detect_leaks=1

        if: github.actor != 'restyled-io[bot]'
        runs-on: ubuntu-latest

        container:
            image: connectedhomeip/chip-build:0.6.06
            options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
                net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1"

        steps:
            - uses: Wandalen/wretry.action@v1.0.36
              if: ${{ !env.ACT }}
              name: Checkout
              with:
                  action: actions/checkout@v3
                  with: |
                      token: ${{ github.token }}
                  attempt_limit: 3
                  attempt_delay: 2000
            # To use act like:
            #   act -j test_suites_linux
            #
            # Note you likely still need to have non submodules setup for the
            # local machine, like:
            #   git submodule deinit --all
            - uses: actions/checkout@v3
              if: ${{ env.ACT }}
              name: Checkout (ACT for local build)
            - name: Checkout submodules
              run: scripts/checkout_submodules.py --shallow --platform linux
            - name: Try to ensure the directories for core dumping exist and we
                  can write them.
              run: |
                  mkdir /tmp/cores || true
                  sysctl -w kernel.core_pattern=/tmp/cores/core.%u.%p.%t || true
                  mkdir objdir-clone || true
            - name: Bootstrap
              timeout-minutes: 10
              run: scripts/build/gn_bootstrap.sh
            - name: Uploading bootstrap logs
              uses: actions/upload-artifact@v3
              if: ${{ always() && !env.ACT }}
              with:
                  name: bootstrap-logs-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }}
                  path: |
                      .environment/gn_out/.ninja_log
                      .environment/pigweed-venv/*.log
            - name: Validate that xml are parseable
              timeout-minutes: 10
              # The sub-items being run here are the same as the input XMLs listed
              # at src/app/zap-templates/zcl/zcl.json
              #
              # This ensures that the syntax of the XML can always be parsed/validated, however it
              # does not enforce that the content is understood (that part is covered by parser
              # unit tests)
              #
              # Also note ordering: global attributes are parsed first because other XML files may
              # reference these. 
              #
              # TODO: some multipass/postprocess may be more appropriate to allow any ordering of 
              #       things.
              run: |
                  ./scripts/run_in_build_env.sh \
                    "./scripts/idl/xml_parser.py \
                      --no-print \
                      --log-level info \
                      src/app/zap-templates/zcl/data-model/chip/global-attributes.xml \
                      src/app/zap-templates/zcl/data-model/chip/access-control-definitions.xml \
                      src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/account-login-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/administrator-commissioning-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/application-basic-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/application-launcher-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/audio-output-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/binding-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/boolean-state-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/actions-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/bridged-device-basic.xml \
                      src/app/zap-templates/zcl/data-model/chip/chip-ota.xml \
                      src/app/zap-templates/zcl/data-model/chip/chip-types.xml \
                      src/app/zap-templates/zcl/data-model/chip/channel-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/clusters-extensions.xml \
                      src/app/zap-templates/zcl/data-model/chip/content-launch-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/descriptor-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/fault-injection-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/fixed-label-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/flow-measurement-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/general-commissioning-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/general-diagnostics-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/global-attributes.xml \
                      src/app/zap-templates/zcl/data-model/chip/group-key-mgmt-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/identify-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/illuminance-measurement-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/localization-configuration-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/low-power-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/operational-credentials-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/pressure-measurement-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/power-source-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/power-source-configuration-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/proxy-configuration-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/proxy-discovery-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/proxy-valid-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/pump-configuration-and-control-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/pwm-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/relative-humidity-measurement-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/scene.xml \
                      src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/target-navigator-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/temperature-measurement-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/test-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/thread-network-diagnostics-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/time-format-localization-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/window-covering.xml \
                      src/app/zap-templates/zcl/data-model/chip/matter-devices.xml \
                      src/app/zap-templates/zcl/data-model/silabs/general.xml \
                      src/app/zap-templates/zcl/data-model/silabs/ha-devices.xml \
                      src/app/zap-templates/zcl/data-model/silabs/ha.xml \
                      src/app/zap-templates/zcl/data-model/silabs/lo-devices.xml \
                      src/app/zap-templates/zcl/data-model/silabs/types.xml \
                      src/app/zap-templates/zcl/data-model/silabs/zll-devices.xml \
                      src/app/zap-templates/zcl/data-model/silabs/zll.xml \
                    "
            - name: Build Apps
              timeout-minutes: 45
              run: |
                  ./scripts/run_in_build_env.sh \
                     "./scripts/build/build_examples.py \
                        --target linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT} \
                        --target linux-x64-all-clusters-${BUILD_VARIANT} \
                        --target linux-x64-lock-${BUILD_VARIANT} \
                        --target linux-x64-ota-provider-${BUILD_VARIANT} \
                        --target linux-x64-ota-requestor-${BUILD_VARIANT} \
                        --target linux-x64-tv-app-${BUILD_VARIANT} \
                        --target linux-x64-bridge-${BUILD_VARIANT} \
                        build \
                        --copy-artifacts-to objdir-clone \
                     "
            - name: Run Tests
              timeout-minutes: 65
              run: |
                  ./scripts/run_in_build_env.sh \
                  "./scripts/tests/run_test_suite.py \
                     --chip-tool ./out/linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \
                     run \
                     --iterations 1 \
                     --test-timeout-seconds 120 \
                     --all-clusters-app ./out/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
                     --lock-app ./out/linux-x64-lock-${BUILD_VARIANT}/chip-lock-app \
                     --ota-provider-app ./out/linux-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \
                     --ota-requestor-app ./out/linux-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \
                     --tv-app ./out/linux-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \
                     --bridge-app ./out/linux-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \
                  "
            - name: Uploading core files
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-core-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }}
                  path: /tmp/cores/
                  # Cores are big; don't hold on to them too long.
                  retention-days: 5
            - name: Uploading objdir for debugging
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-objdir-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }}
                  path: objdir-clone/
                  # objdirs are big; don't hold on to them too long.
                  retention-days: 5
    test_suites_darwin:
        name: Test Suites - Darwin
        timeout-minutes: 150

        strategy:
            matrix:
                build_variant: [no-ble-tsan-clang, no-ble-asan-clang]
                chip_tool: [""]
        env:
            BUILD_VARIANT: ${{matrix.build_variant}}
            CHIP_TOOL_VARIANT: ${{matrix.chip_tool}}
            TSAN_OPTIONS: "halt_on_error=1"
            LSAN_OPTIONS: detect_leaks=1 suppressions=scripts/tests/chiptest/lsan-mac-suppressions.txt

        if: github.actor != 'restyled-io[bot]'
        runs-on: macos-latest

        steps:
            - uses: Wandalen/wretry.action@v1.0.36
              name: Checkout
              with:
                  action: actions/checkout@v3
                  with: |
                      token: ${{ github.token }}
                  attempt_limit: 3
                  attempt_delay: 2000
            - name: Checkout submodules
              run: scripts/checkout_submodules.py --shallow --platform darwin
            - name: Setup Environment
              # coreutils for stdbuf
              run: brew install openssl pkg-config coreutils
            - name:
                  Try to ensure the directories for core dumping and diagnostic
                  log collection exist and we can write them.
              run: |
                  sudo chown ${USER} /cores || true
                  mkdir -p ~/Library/Logs/DiagnosticReports || true
                  mkdir objdir-clone || true
            - name: Fix pkgconfig link
              working-directory: /usr/local/lib/pkgconfig
              run: |
                  pwd
                  ls -la /usr/local/Cellar/
                  ls -la /usr/local/Cellar/openssl@1.1
                  OPEN_SSL_VERSION=`ls -la /usr/local/Cellar/openssl@1.1 | cat | tail -n1 | awk '{print $NF}'`
                  ln -s /usr/local/Cellar/openssl@1.1/$OPEN_SSL_VERSION/lib/pkgconfig/* .
            - name: Bootstrap
              timeout-minutes: 25
              run: scripts/build/gn_bootstrap.sh
            - name: Uploading bootstrap logs
              uses: actions/upload-artifact@v3
              if: ${{ always() && !env.ACT }}
              with:
                  name: bootstrap-logs-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }}
                  path: |
                      .environment/gn_out/.ninja_log
                      .environment/pigweed-venv/*.log
            - name: Build Apps
              timeout-minutes: 60
              run: |
                  ./scripts/run_in_build_env.sh \
                     "./scripts/build/build_examples.py \
                        --target darwin-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT} \
                        --target darwin-x64-all-clusters-${BUILD_VARIANT} \
                        --target darwin-x64-lock-${BUILD_VARIANT} \
                        --target darwin-x64-ota-provider-${BUILD_VARIANT} \
                        --target darwin-x64-ota-requestor-${BUILD_VARIANT} \
                        --target darwin-x64-tv-app-${BUILD_VARIANT} \
                        --target darwin-x64-bridge-${BUILD_VARIANT} \
                        build \
                        --copy-artifacts-to objdir-clone \
                     "
            - name: Run Tests
              timeout-minutes: 80
              run: |
                  ./scripts/run_in_build_env.sh \
                  "./scripts/tests/run_test_suite.py \
                     --chip-tool ./out/darwin-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \
                     --target-skip-glob '{Test_TC_DGTHREAD_2_1,Test_TC_DGTHREAD_2_2,Test_TC_DGTHREAD_2_3,Test_TC_DGTHREAD_2_4}' \
                     run \
                     --iterations 1 \
                     --test-timeout-seconds 120 \
                     --all-clusters-app ./out/darwin-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \
                     --lock-app ./out/darwin-x64-lock-${BUILD_VARIANT}/chip-lock-app \
                     --ota-provider-app ./out/darwin-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \
                     --ota-requestor-app ./out/darwin-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \
                     --tv-app ./out/darwin-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \
                     --bridge-app ./out/darwin-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \
                  "
            - name: Uploading core files
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-core-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }}
                  path: /cores/
                  # Cores are big; don't hold on to them too long.
                  retention-days: 5
            - name: Uploading diagnostic logs
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-log-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }}
                  path: ~/Library/Logs/DiagnosticReports/
            - name: Uploading objdir for debugging
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-objdir-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }}
                  path: objdir-clone/
                  # objdirs are big; don't hold on to them too long.
                  retention-days: 5
    repl_tests_linux:
        name: REPL Tests - Linux
        timeout-minutes: 130

        env:
            TSAN_OPTIONS: "halt_on_error=1 suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt"

        if: github.actor != 'restyled-io[bot]'
        runs-on: ubuntu-latest

        container:
            image: connectedhomeip/chip-build:0.6.06
            options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
                net.ipv4.conf.all.forwarding=0 net.ipv6.conf.all.forwarding=0"

        steps:
            - name: Checkout
              uses: actions/checkout@v2
            - name: Checkout submodules
              run: scripts/checkout_submodules.py --shallow --platform linux
            - name: Try to ensure the directories for core dumping exist and we
                  can write them.
              run: |
                  mkdir /tmp/cores || true
                  sysctl -w kernel.core_pattern=/tmp/cores/core.%u.%p.%t || true
                  mkdir objdir-clone || true
            - name: Bootstrap
              timeout-minutes: 10
              run: scripts/build/gn_bootstrap.sh
            - name: Uploading bootstrap logs
              uses: actions/upload-artifact@v3
              if: ${{ always() && !env.ACT }}
              with:
                  name: bootstrap-logs-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }}
                  path: |
                      .environment/gn_out/.ninja_log
                      .environment/pigweed-venv/*.log
            - name: Build Python REPL and example apps
              timeout-minutes: 50
              run: |
                  scripts/run_in_build_env.sh './scripts/build_python.sh --install_wheel build-env'
                  ./scripts/run_in_build_env.sh \
                   "./scripts/build/build_examples.py \
                      --target linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test \
                      --target linux-x64-python-bindings \
                      build \
                      --copy-artifacts-to objdir-clone \
                   "
            - name: Run Tests
              timeout-minutes: 10
              run: |
                  scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --script-args "--log-level INFO -t 3600 --disable-test ClusterObjectTests.TestTimedRequestTimeout"'
                  scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app  --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1" --script "src/python_testing/TC_RR_1_1.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021"'
                  scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app  --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1" --script "src/python_testing/TC_SC_3_6.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021"'
                  scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app  --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1" --script "src/python_testing/TC_DA_1_7.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --bool-arg allow_sdk_dac:true"'
                  scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app  --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1 --enable-key 000102030405060708090a0b0c0d0e0f" --script "src/python_testing/TC_TestEventTrigger.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --bool-arg allow_sdk_dac:true"'
            - name: Uploading core files
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-core-linux-python-repl
                  path: /tmp/cores/
                  # Cores are big; don't hold on to them too long.
                  retention-days: 5
            - name: Uploading objdir for debugging
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-objdir-linux-python-repl
                  path: objdir-clone/
                  # objdirs are big; don't hold on to them too long.
                  retention-days: 5
    java_tests_linux:
        name: Java Tests - Linux
        timeout-minutes: 130

        env:
            TSAN_OPTIONS: "halt_on_error=1 suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt"
            JAVA_PATH: /usr/lib/jvm/java-8-openjdk-amd64

        if: github.actor != 'restyled-io[bot]'
        runs-on: ubuntu-latest

        container:
            image: connectedhomeip/chip-build:0.6.06
            options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
                net.ipv4.conf.all.forwarding=0 net.ipv6.conf.all.forwarding=0"

        steps:
            - name: Checkout
              uses: actions/checkout@v2
            - name: Checkout submodules
              run: scripts/checkout_submodules.py --shallow --platform linux
            - name: Try to ensure the directories for core dumping exist and we
                  can write them.
              run: |
                  mkdir /tmp/cores || true
                  sysctl -w kernel.core_pattern=/tmp/cores/core.%u.%p.%t || true
                  mkdir objdir-clone || true
            - name: Bootstrap
              timeout-minutes: 10
              run: scripts/build/gn_bootstrap.sh
            - name: Uploading bootstrap logs
              uses: actions/upload-artifact@v3
              if: ${{ always() && !env.ACT }}
              with:
                  name: bootstrap-logs-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }}
                  path: |
                      .environment/gn_out/.ninja_log
                      .environment/pigweed-venv/*.log
            - name: Build Java Mattter Controller and all clusters app
              timeout-minutes: 50
              run: |
                  scripts/run_in_build_env.sh './scripts/build_python.sh --install_wheel build-env'
                  ./scripts/run_in_build_env.sh \
                   "./scripts/build/build_examples.py \
                      --target linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test \
                      --target linux-x64-java-matter-controller \
                      build \
                   "
            - name: Uploading core files
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-core-linux-java-controller
                  path: /tmp/cores/
                  # Cores are big; don't hold on to them too long.
                  retention-days: 5
            - name: Uploading objdir for debugging
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-objdir-linux-java-controller
                  path: objdir-clone/
                  # objdirs are big; don't hold on to them too long.
                  retention-days: 5

    repl_tests_darwin:
        name: REPL Tests - Darwin
        timeout-minutes: 120

        strategy:
            matrix:
                build_variant: [no-ble-no-wifi-tsan-clang]
        env:
            BUILD_VARIANT: ${{matrix.build_variant}}
            TSAN_OPTIONS: "halt_on_error=1"

        if: github.actor != 'restyled-io[bot]' && false
        runs-on: macos-latest

        steps:
            - name: Checkout
              uses: actions/checkout@v2
            - name: Checkout submodules
              run: scripts/checkout_submodules.py --shallow --platform darwin
            - name: Setup Environment
              # coreutils for stdbuf
              run: brew install openssl pkg-config coreutils
            - name:
                  Try to ensure the directories for core dumping and diagnostic
                  log collection exist and we can write them.
              run: |
                  sudo chown ${USER} /cores || true
                  mkdir -p ~/Library/Logs/DiagnosticReports || true
                  mkdir objdir-clone || true
            - name: Fix pkgconfig link
              working-directory: /usr/local/lib/pkgconfig
              run: |
                  pwd
                  ls -la /usr/local/Cellar/
                  ls -la /usr/local/Cellar/openssl@1.1
                  OPEN_SSL_VERSION=`ls -la /usr/local/Cellar/openssl@1.1 | cat | tail -n1 | awk '{print $NF}'`
                  ln -s /usr/local/Cellar/openssl@1.1/$OPEN_SSL_VERSION/lib/pkgconfig/* .
            - name: Bootstrap
              timeout-minutes: 25
              run: scripts/build/gn_bootstrap.sh
            - name: Uploading bootstrap logs
              uses: actions/upload-artifact@v3
              if: ${{ always() && !env.ACT }}
              with:
                  name: bootstrap-logs-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }}
                  path: |
                      .environment/gn_out/.ninja_log
                      .environment/pigweed-venv/*.log
            - name: Build Python REPL and example apps
              timeout-minutes: 50
              run: |
                  scripts/run_in_build_env.sh './scripts/build_python.sh --install_wheel build-env'
                  ./scripts/run_in_build_env.sh \
                   "./scripts/build/build_examples.py \
                      --target darwin-x64-all-clusters-${BUILD_VARIANT}-test \
                      build \
                      --copy-artifacts-to objdir-clone \
                   "
            - name: Run Tests
              timeout-minutes: 30
              run: |
                  scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/darwin-x64-all-clusters-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --app-args "--discriminator 3840 --interface-id -1" --script-args "-t 3600 --disable-test ClusterObjectTests.TestTimedRequestTimeout"'
            - name: Uploading core files
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-core-darwin-python-repl
                  path: /cores/
                  # Cores are big; don't hold on to them too long.
                  retention-days: 5
            - name: Uploading diagnostic logs
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-log-darwin-python-repl
                  path: ~/Library/Logs/DiagnosticReports/
            - name: Uploading objdir for debugging
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: crash-objdir-darwin-python-repl
                  path: objdir-clone/
                  # objdirs are big; don't hold on to them too long.
                  retention-days: 5
