# Copyright (c) 2023 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 - ASR

on:
    push:
        branches-ignore:
            - 'dependabot/**'
    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

jobs:
    asr:
        name: ASR

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

        container:
            image: ghcr.io/project-chip/chip-build-asr:80
            options: --user root

        steps:
            - name: Checkout
              uses: actions/checkout@v4
            - name: Checkout submodules & Bootstrap
              uses: ./.github/actions/checkout-submodules-and-bootstrap
              with:
                platform: asr
            - name: Build all ASR582X examples
              run: |
                  ./scripts/run_in_build_env.sh \
                     "./scripts/build/build_examples.py \
                        --target asr-asr582x-all-clusters \
                        --target asr-asr582x-all-clusters-minimal \
                        --target asr-asr582x-lighting-ota \
                        --target asr-asr582x-light-switch-shell \
                        --target asr-asr582x-lock-no_logging \
                        --target asr-asr582x-ota-requestor \
                        --target asr-asr582x-bridge-factory \
                        --target asr-asr582x-temperature-measurement-rotating_id \
                        --target asr-asr582x-thermostat-rio \
                        --target asr-asr582x-dishwasher \
                        --target asr-asr582x-refrigerator \
                        build \
                     "
