# 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/**'
                      pigweed-app:
                        - 'examples/pigweed-app/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 Pigweed on nRF52840 DK
              if: github.event_name == 'push' || steps.changed_paths.outputs.pigweed-app == 'true'
              timeout-minutes: 15
              run: |
                  scripts/examples/nrfconnect_example.sh pigweed-app nrf52840dk_nrf52840
                  .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
                    nrfconnect nrf52840dk_nrf52840 pigweed-app \
                    examples/pigweed-app/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/
