# Copyright (c) 2020 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 - nRF Connect SDK

on:
    push:
    pull_request:
    merge_group:

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:
    nrfconnect:
        name: nRF Connect SDK
        timeout-minutes: 140

        env:
            BUILD_TYPE: nrfconnect

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

        container:
            image: connectedhomeip/chip-build-nrf-platform:0.7.16
            volumes:
                - "/tmp/bloat_reports:/tmp/bloat_reports"

        steps:
            - uses: Wandalen/wretry.action@v1.0.36
              name: Checkout
              with:
                  action: actions/checkout@v3.5.2
                  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 nrfconnect
            - name: Detect changed paths
              uses: dorny/paths-filter@v2
              id: changed_paths
              with:
                  filters: |
                      nrfconnect:
                        - '**/nrfconnect/**'
                        - '**/Zephyr/**'
                        - '**/zephyr/**'
                      tests:
                        - '**/tests/**'
                      shell:
                        - 'examples/shell/nrfconnect/**'
            - name: Set up environment for size reports
              if: ${{ !env.ACT }}
              env:
                  GH_CONTEXT: ${{ toJson(github) }}
              run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}"

            - 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
                  path: |
                      .environment/gn_out/.ninja_log
                      .environment/pigweed-venv/*.log

            - name: Check nRF Connect SDK revision.
              timeout-minutes: 15
              run: scripts/run_in_build_env.sh "python3 scripts/setup/nrfconnect/update_ncs.py --check"
            - name: Run unit tests of factory data generation script
              timeout-minutes: 15
              run: |
                  scripts/run_in_build_env.sh 'pip3 install -r scripts/setup/requirements.nrfconnect.txt'
                  scripts/run_in_build_env.sh "./scripts/tools/nrfconnect/tests/test_generate_factory_data.py"
            - name: Build example nRF Connect SDK Lock App on nRF52840 DK
              if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 15
              run: |
                  scripts/examples/nrfconnect_example.sh lock-app nrf52840dk_nrf52840
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf52840dk_nrf52840 lock-app \
                    examples/lock-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK Lighting App on nRF52840 Dongle
              if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 15
              run: |
                  scripts/examples/nrfconnect_example.sh lighting-app nrf52840dongle_nrf52840 -DCONF_FILE=prj_no_dfu.conf -DCONFIG_CHIP_ROTATING_DEVICE_ID=y
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf52840dongle_nrf52840 lighting-app \
                    examples/lighting-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK Lighting App on nRF52840 DK with RPC
              if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 20
              run: |
                  scripts/examples/nrfconnect_example.sh lighting-app nrf52840dk_nrf52840 -DOVERLAY_CONFIG=rpc.overlay
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf52840dk_nrf52840+rpc lighting-app \
                    examples/lighting-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK Light Switch App on nRF52840 DK
              if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 15
              run: |
                  scripts/examples/nrfconnect_example.sh light-switch-app nrf52840dk_nrf52840
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf52840dk_nrf52840 light-switch-app \
                    examples/light-switch-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK Shell on nRF52840 DK
              if: github.event_name == 'push' || steps.changed_paths.outputs.shell == 'true'
              timeout-minutes: 15
              run: |
                  scripts/examples/nrfconnect_example.sh shell nrf52840dk_nrf52840
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf52840dk_nrf52840 shell \
                    examples/shell/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK Pump App on nRF52840 DK
              if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 15
              run: |
                  scripts/examples/nrfconnect_example.sh pump-app nrf52840dk_nrf52840
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf52840dk_nrf52840 pump-app \
                    examples/pump-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK Pump Controller App on nRF52840 DK
              if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 15
              run: |
                  scripts/examples/nrfconnect_example.sh pump-controller-app nrf52840dk_nrf52840
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf52840dk_nrf52840 pump-controller-app \
                    examples/pump-controller-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK All Clusters App on nRF52840 DK
              timeout-minutes: 20
              run: |
                  scripts/examples/nrfconnect_example.sh all-clusters-app nrf52840dk_nrf52840 -DCONF_FILE=prj_dfu.conf
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf52840dk_nrf52840 all-clusters-app \
                    examples/all-clusters-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK All Clusters Minimal App on nRF52840 DK
              timeout-minutes: 20
              run: |
                  scripts/examples/nrfconnect_example.sh all-clusters-minimal-app nrf52840dk_nrf52840 -DCONF_FILE=prj_dfu.conf
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf52840dk_nrf52840 all-clusters-minimal-app \
                    examples/all-clusters-minimal-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK Lock App on nRF5340 DK
              if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 15
              run: |
                  scripts/examples/nrfconnect_example.sh lock-app nrf5340dk_nrf5340_cpuapp
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf5340dk_nrf5340_cpuapp lock-app \
                    examples/lock-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK Lighting App on nRF5340 DK
              if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 15
              run: |
                  scripts/examples/nrfconnect_example.sh lighting-app nrf5340dk_nrf5340_cpuapp
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf5340dk_nrf5340_cpuapp lighting-app \
                    examples/lighting-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK Lock App on nRF7002 PDK
              if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 20
              run: |
                  scripts/examples/nrfconnect_example.sh lock-app nrf7002dk_nrf5340_cpuapp
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf7002dk_nrf5340_cpuapp lock-app \
                    examples/lock-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK Light Switch App on nRF7002 PDK
              if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 20
              run: |
                  scripts/examples/nrfconnect_example.sh light-switch-app nrf7002dk_nrf5340_cpuapp
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf7002dk_nrf5340_cpuapp light-switch-app \
                    examples/light-switch-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK Lighting App on nRF7002 PDK
              if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 20
              run: |
                  scripts/examples/nrfconnect_example.sh lighting-app nrf7002dk_nrf5340_cpuapp
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf7002dk_nrf5340_cpuapp lighting-app \
                    examples/light-switch-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Build example nRF Connect SDK All Clusters App on nRF7002 PDK
              timeout-minutes: 20
              run: |
                  scripts/examples/nrfconnect_example.sh all-clusters-app nrf7002dk_nrf5340_cpuapp -DCONF_FILE=prj_release.conf
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf7002dk_nrf5340_cpuapp all-clusters-app \
                    examples/all-clusters-app/nrfconnect/build/zephyr/zephyr.elf \
                    /tmp/bloat_reports/
            - name: Run unit tests for Zephyr native_posix_64 platform
              if: github.event_name == 'push' || steps.changed_paths.outputs.tests == 'true' || steps.changed_paths.outputs.nrfconnect == 'true'
              timeout-minutes: 15
              run: |
                  scripts/run_in_build_env.sh "./scripts/build/build_examples.py --target nrf-native-posix-64-tests build"
            - name: Uploading Failed Test Logs
              uses: actions/upload-artifact@v3
              if: ${{ failure() && !env.ACT }}
              with:
                  name: test-log
                  path: |
                      src/test_driver/nrfconnect/build/Testing/Temporary/LastTest.log

            - name: Uploading Size Reports
              uses: actions/upload-artifact@v3
              if: ${{ !env.ACT }}
              with:
                  name: Size,nRFConnect-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }}
                  path: |
                      /tmp/bloat_reports/
