# Copyright (c) 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: Build example - Open IoT SDK

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

jobs:
    openiotsdk:
        name: Open IoT SDK examples building

        env:
            TEST_NETWORK_NAME: OIStest

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

        container:
            image: ghcr.io/project-chip/chip-build-openiotsdk:22
            volumes:
                - "/tmp/bloat_reports:/tmp/bloat_reports"
            options: --privileged

        steps:
            - name: Checkout
              uses: actions/checkout@v4
            - name: Checkout submodules & Bootstrap
              uses: ./.github/actions/checkout-submodules-and-bootstrap
              with:
                platform: openiotsdk linux
                extra-submodule-parameters: " --recursive"

            - name: Set up environment for size reports
              uses: ./.github/actions/setup-size-reports
              if: ${{ !env.ACT }}
              with:
                gh-context: ${{ toJson(github) }}

            - name: Build and install Python controller
              run: |
                  scripts/run_in_build_env.sh './scripts/build_python.sh --install_virtual_env out/venv'
                  scripts/run_in_python_env.sh out/venv 'pip install -r scripts/setup/requirements.openiotsdk.txt'

            - name: Build shell example
              id: build_shell
              run: |
                  scripts/examples/openiotsdk_example.sh shell
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    openiotsdk release shell \
                    examples/shell/openiotsdk/build/chip-openiotsdk-shell-example.elf \
                    /tmp/bloat_reports/

            - name: "Test: shell example"
              if: steps.build_shell.outcome == 'success'
              run: |
                  scripts/run_in_python_env.sh out/venv \
                    'scripts/examples/openiotsdk_example.sh --no-activate -C test shell'

            - name: Clean shell output
              run: rm -rf examples/shell/openiotsdk/build

            - name: Build lock-app example (mbedtls)
              # Disabled being tracked here: https://github.com/project-chip/connectedhomeip/issues/28026
              if: false
              id: build_lock_app_mbedtls
              run: |
                  scripts/examples/openiotsdk_example.sh -b mbedtls lock-app
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    openiotsdk release lock-app-mbedtls \
                    examples/lock-app/openiotsdk/build/chip-openiotsdk-lock-app-example.elf \
                    /tmp/bloat_reports/

            - name: Build tv-app example
              id: build_tv_app
              timeout-minutes: 10
              run: |
                  scripts/examples/openiotsdk_example.sh tv-app
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    openiotsdk release tv-app \
                    examples/tv-app/openiotsdk/build/chip-openiotsdk-tv-app-example.elf \
                    /tmp/bloat_reports/

            - name: "Test: tv-app example"
              if: steps.build_tv_app.outcome == 'success'
              timeout-minutes: 10
              run: |
                  scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME up
                  scripts/run_in_python_env.sh out/venv \
                    'scripts/run_in_ns.sh ${TEST_NETWORK_NAME}ns scripts/examples/openiotsdk_example.sh --no-activate -C test -n ${TEST_NETWORK_NAME}tap tv-app'
                  scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME down

            - name: Clean tv-app output
              run: rm -rf examples/tv-app/openiotsdk/build

            - name: Build all-clusters-app example
              id: build_all_clusters_app
              timeout-minutes: 10
              run: |
                  scripts/examples/openiotsdk_example.sh all-clusters-app
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    openiotsdk release all-clusters-app \
                    examples/all-clusters-app/openiotsdk/build/chip-openiotsdk-all-clusters-app-example.elf \
                    /tmp/bloat_reports/

            - name: "Test: all-clusters-app example"
              if: steps.build_all_clusters_app.outcome == 'success'
              timeout-minutes: 5
              run: |
                  scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME up
                  scripts/run_in_python_env.sh out/venv \
                    'scripts/run_in_ns.sh ${TEST_NETWORK_NAME}ns scripts/examples/openiotsdk_example.sh --no-activate -C test -n ${TEST_NETWORK_NAME}tap all-clusters-app'
                  scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME down

            - name: Clean all-clusters-app output
              run: rm -rf examples/all-clusters-app/openiotsdk/build

            - name: Build ota-requestor-app example
              id: build_ota_requestor_app
              timeout-minutes: 10
              run: |
                  scripts/examples/openiotsdk_example.sh -v 1 -V 0.0.1 ota-requestor-app
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    openiotsdk release ota-requestor-app \
                    examples/ota-requestor-app/openiotsdk/build/chip-openiotsdk-ota-requestor-app-example.elf \
                    /tmp/bloat_reports/

            - name: Build unit tests (mbedtls)
              # Disabled being tracked here: https://github.com/project-chip/connectedhomeip/issues/28026
              if: false
              id: build_unit_tests_mbedtls
              run: |
                  scripts/examples/openiotsdk_example.sh -b mbedtls unit-tests

            - name: Build the OTA provider (Linux)
              id: build_ota_provider_app
              if: steps.build_ota_requestor_app.outcome == 'success'
              timeout-minutes: 10
              run: |
                  scripts/examples/gn_build_example.sh examples/ota-provider-app/linux/ out/ota-provider chip_config_network_layer_ble=false

            - name: "Test: lock-app example (mbedtls)"
              if: steps.build_lock_app_mbedtls.outcome == 'success'
              run: |
                  scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME up
                  scripts/run_in_python_env.sh out/venv \
                    'scripts/run_in_ns.sh ${TEST_NETWORK_NAME}ns scripts/examples/openiotsdk_example.sh --no-activate -C test -n ${TEST_NETWORK_NAME}tap lock-app'
                  scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME down

            - name: "Test: ota-requestor-app example"
              if: steps.build_ota_requestor_app.outcome == 'success' && steps.build_ota_provider_app.outcome == 'success'
              timeout-minutes: 30
              run: |
                  mkdir out/binaries
                  cp examples/ota-requestor-app/openiotsdk/build/chip-openiotsdk-ota-requestor-app-example.elf out/binaries/
                  scripts/examples/openiotsdk_example.sh -c -v 2 -V 0.0.2 ota-requestor-app
                  cp examples/ota-requestor-app/openiotsdk/build/chip-openiotsdk-ota-requestor-app-example.ota out/binaries/
                  scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME up
                  scripts/run_in_python_env.sh out/venv \
                    'scripts/run_in_ns.sh ${TEST_NETWORK_NAME}ns scripts/examples/openiotsdk_example.sh --no-activate -p out/binaries -v 2 -V 0.0.2 -C test -n ${TEST_NETWORK_NAME}tap ota-requestor-app'
                  scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME down

            - name: "Test: unit-tests (mbedtls)"
              if: steps.build_unit_tests_mbedtls.outcome == 'success'
              run: |
                  scripts/run_in_python_env.sh out/venv \
                    'scripts/examples/openiotsdk_example.sh --no-activate -C test unit-tests'

            - name: Build lock-app example (psa)
              # Disabled being tracked here: https://github.com/project-chip/connectedhomeip/issues/28026
              if: false
              id: build_lock_app_psa
              run: |
                  scripts/examples/openiotsdk_example.sh -c -b psa lock-app
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    openiotsdk release lock-app-psa \
                    examples/lock-app/openiotsdk/build/chip-openiotsdk-lock-app-example.elf \
                    /tmp/bloat_reports/

            - name: "Test: lock-app example (psa)"
              if: steps.build_lock_app_psa.outcome == 'success'
              run: |
                  scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME up
                  scripts/run_in_python_env.sh out/venv \
                    'scripts/run_in_ns.sh ${TEST_NETWORK_NAME}ns scripts/examples/openiotsdk_example.sh --no-activate -C test -n ${TEST_NETWORK_NAME}tap lock-app'
                  scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME down

            - name: Build unit tests (psa)
              id: build_unit_tests_psa
              run: |
                  scripts/examples/openiotsdk_example.sh -b psa unit-tests

            - name: "Test: unit-tests (psa)"
              if: steps.build_unit_tests_psa.outcome == 'success'
              run: |
                  scripts/run_in_python_env.sh out/venv \
                    'scripts/examples/openiotsdk_example.sh --no-activate -C test unit-tests'
