# 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:
    merge_group:
    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

env:
    CHIP_NO_LOG_TIMESTAMPS: true
    # XXX: Workaround for https://github.com/actions/cache/issues/1141
    SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3

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

        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.7.3
            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 --allow-changing-global-git-config --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 cache
              uses: actions/cache@v3
              timeout-minutes: 10
              with:
                  key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }}
                  path: |
                      .environment
                      build_overrides/pigweed_environment.gni
            - name: Bootstrap
              timeout-minutes: 10
              run: bash scripts/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 parsable
              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)
              #
              run: |
                  ./scripts/run_in_build_env.sh \
                    "./scripts/py_matter_idl/matter_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/air-quality-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/ballast-configuration-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-information.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/color-control-cluster.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/fan-control-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/groups-cluster.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/level-control-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/occupancy-sensing-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-user-interface-configuration-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/draft/barrier-control-cluster.xml \
                      src/app/zap-templates/zcl/data-model/draft/electrical-measurement-cluster.xml \
                      src/app/zap-templates/zcl/data-model/draft/input-output-value-clusters.xml \
                      src/app/zap-templates/zcl/data-model/draft/onoff-switch-configuration-cluster.xml \
                      src/app/zap-templates/zcl/data-model/chip/replacable-monitoring-cluster.xml \
                    "
            - name: Build Apps
              timeout-minutes: 60
              run: |
                  scripts/run_in_build_env.sh './scripts/build_python.sh --install_wheel build-env --include_yamltests'
                  ./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: Run Tests using the python parser sending commands to chip-tool
              timeout-minutes: 65
              run: |
                  ./scripts/run_in_build_env.sh \
                  "./scripts/tests/run_test_suite.py \
                     --runner chip_tool_python \
                     --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: Run Tests using chip-repl (skip slow)
              timeout-minutes: 45
              if: github.event_name == 'pull_request'
              run: |
                  ./scripts/run_in_build_env.sh \
                  "./scripts/tests/run_test_suite.py \
                     --runner chip_repl_python \
                     --exclude-tags MANUAL \
                     --exclude-tags FLAKY \
                     --exclude-tags IN_DEVELOPMENT \
                     --exclude-tags SLOW \
                     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: Run Tests using chip-repl (including slow)
              timeout-minutes: 45
              if: github.event_name == 'push'
              run: |
                  ./scripts/run_in_build_env.sh \
                  "./scripts/tests/run_test_suite.py \
                     --runner chip_repl_python \
                     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: 180

        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 --allow-changing-global-git-config --shallow --platform darwin
            - name: Setup Environment
              # coreutils for stdbuf
              run: brew install 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: Bootstrap cache
              uses: actions/cache@v3
              timeout-minutes: 10
              with:
                  key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }}
                  path: |
                      .environment
                      build_overrides/pigweed_environment.gni
            - name: Bootstrap
              timeout-minutes: 25
              run: bash scripts/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: 90
              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: Run Tests using the python parser sending commands to chip-tool
              timeout-minutes: 80
              run: |
                  ./scripts/run_in_build_env.sh \
                  "./scripts/tests/run_test_suite.py \
                     --runner chip_tool_python \
                     --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.7.3
            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@v3
            - name: Checkout submodules
              run: scripts/checkout_submodules.py --allow-changing-global-git-config --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 cache
              uses: actions/cache@v3
              timeout-minutes: 10
              with:
                  key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }}
                  path: |
                      .environment
                      build_overrides/pigweed_environment.gni
            - name: Bootstrap
              timeout-minutes: 10
              run: bash scripts/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"'
                  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_ACE_1_4.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --int-arg PIXIT.ACE.APPENDPOINT:1 PIXIT.ACE.APPDEVTYPEID:0x0100 --string-arg PIXIT.ACE.APPCLUSTER:OnOff PIXIT.ACE.APPATTRIBUTE:OnOff"'
                  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_ACE_1_3.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_CGEN_2_4.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 --script "src/python_testing/TestMatterTestingSupport.py"'
            - 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-java:0.7.3
            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@v3
            - name: Checkout submodules
              run: scripts/checkout_submodules.py --allow-changing-global-git-config --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 cache
              uses: actions/cache@v3
              timeout-minutes: 10
              with:
                  key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }}
                  path: |
                      .environment
                      build_overrides/pigweed_environment.gni
            - name: Bootstrap
              timeout-minutes: 10
              run: bash scripts/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 Matter 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: Run Discover Commissionables Test
              timeout-minutes: 10
              run: |
                  scripts/run_in_build_env.sh \
                  './scripts/tests/run_java_test.py \
                     --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \
                     --app-args "--discriminator 3840 --interface-id -1" \
                     --tool-path out/linux-x64-java-matter-controller \
                     --tool-cluster "discover" \
                     --tool-args "commissionables" \
                     --factoryreset \
                  '
            - name: Run Pairing Onnetwork Test
              timeout-minutes: 10
              run: |
                  scripts/run_in_build_env.sh \
                  './scripts/tests/run_java_test.py \
                     --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \
                     --app-args "--discriminator 3840 --interface-id -1" \
                     --tool-path out/linux-x64-java-matter-controller \
                     --tool-cluster "pairing" \
                     --tool-args "onnetwork-long --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \
                     --factoryreset \
                  '
            - name: Run IM Invoke Test
              timeout-minutes: 10
              run: |
                  scripts/run_in_build_env.sh \
                  './scripts/tests/run_java_test.py \
                     --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \
                     --app-args "--discriminator 3840 --interface-id -1" \
                     --tool-path out/linux-x64-java-matter-controller \
                     --tool-cluster "im" \
                     --tool-args "onnetwork-long-im-invoke --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \
                     --factoryreset \
                  '
            - name: Run IM Read Test
              timeout-minutes: 10
              run: |
                  scripts/run_in_build_env.sh \
                  './scripts/tests/run_java_test.py \
                     --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \
                     --app-args "--discriminator 3840 --interface-id -1" \
                     --tool-path out/linux-x64-java-matter-controller \
                     --tool-cluster "im" \
                     --tool-args "onnetwork-long-im-read --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \
                     --factoryreset \
                  '
            - name: Run IM Write Test
              timeout-minutes: 10
              run: |
                  scripts/run_in_build_env.sh \
                  './scripts/tests/run_java_test.py \
                     --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \
                     --app-args "--discriminator 3840 --interface-id -1" \
                     --tool-path out/linux-x64-java-matter-controller \
                     --tool-cluster "im" \
                     --tool-args "onnetwork-long-im-write --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \
                     --factoryreset \
                  '
            - name: Run IM Subscribe Test
              timeout-minutes: 10
              run: |
                  scripts/run_in_build_env.sh \
                  './scripts/tests/run_java_test.py \
                     --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \
                     --app-args "--discriminator 3840 --interface-id -1" \
                     --tool-path out/linux-x64-java-matter-controller \
                     --tool-cluster "im" \
                     --tool-args "onnetwork-long-im-subscribe --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \
                     --factoryreset \
                  '
            - name: Run Pairing AlreadyDiscovered Test
              timeout-minutes: 10
              run: |
                  scripts/run_in_build_env.sh \
                  './scripts/tests/run_java_test.py \
                     --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \
                     --app-args "--discriminator 3840 --interface-id -1" \
                     --tool-path out/linux-x64-java-matter-controller \
                     --tool-cluster "pairing" \
                     --tool-args "already-discovered --nodeid 1 --setup-pin-code 20202021 --address ::1 --port 5540 -t 1000" \
                     --factoryreset \
                  '
            - name: Run Pairing Address-PaseOnly Test
              timeout-minutes: 10
              run: |
                  scripts/run_in_build_env.sh \
                  './scripts/tests/run_java_test.py \
                     --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \
                     --app-args "--discriminator 3840 --interface-id -1" \
                     --tool-path out/linux-x64-java-matter-controller \
                     --tool-cluster "pairing" \
                     --tool-args "address-paseonly --nodeid 1 --setup-pin-code 20202021 --address ::1 --port 5540 -t 1000" \
                     --factoryreset \
                  '
            - name: Run Pairing SetupQRCode Test
              timeout-minutes: 10
              run: |
                  scripts/run_in_build_env.sh \
                  './scripts/tests/run_java_test.py \
                     --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \
                     --app-args "--discriminator 3840 --interface-id -1" \
                     --tool-path out/linux-x64-java-matter-controller \
                     --tool-cluster "pairing" \
                     --tool-args "code --nodeid 1 --setup-payload MT:-24J0AFN00KA0648G00 --discover-once 1 --use-only-onnetwork-discovery 0 -t 1000" \
                     --factoryreset \
                  '
            - name: Run Pairing ManualCode Test
              timeout-minutes: 10
              run: |
                  scripts/run_in_build_env.sh \
                  './scripts/tests/run_java_test.py \
                     --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \
                     --app-args "--discriminator 3840 --interface-id -1" \
                     --tool-path out/linux-x64-java-matter-controller \
                     --tool-cluster "pairing" \
                     --tool-args "code --nodeid 1 --setup-payload 34970112332 --discover-once 1 --use-only-onnetwork-discovery 0 -t 1000" \
                     --factoryreset \
                  '                                
            - 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@v3
            - name: Checkout submodules
              run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform darwin
            - name: Setup Environment
              # coreutils for stdbuf
              run: brew install 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: Bootstrap cache
              uses: actions/cache@v3
              timeout-minutes: 10
              with:
                  key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }}
                  path: |
                      .environment
                      build_overrides/pigweed_environment.gni
            - name: Bootstrap
              timeout-minutes: 25
              run: bash scripts/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
