| # 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: Docker CHIP images |
| |
| on: |
| workflow_call: |
| inputs: |
| push_images: |
| required: false |
| type: boolean |
| default: false |
| push: |
| paths: |
| - "integrations/docker/**" |
| pull_request: |
| paths: |
| - "integrations/docker/**" |
| workflow_dispatch: |
| inputs: |
| push_images: |
| required: false |
| type: boolean |
| default: false |
| |
| jobs: |
| build_images_base: |
| name: Build Docker CHIP Build images - base |
| runs-on: ubuntu-latest |
| if: github.actor != 'restyled-io[bot]' |
| strategy: |
| fail-fast: false |
| matrix: |
| img: |
| - "" |
| - "-minimal" |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v4 |
| - name: Build & Push images using project bash script |
| if: ${{ inputs.push_images == true }} |
| run: | |
| cd integrations/docker/images/base/chip-build${{ matrix.img }} |
| ./build.sh --latest --push |
| - name: Build images using project bash script |
| if: ${{ inputs.push_images == false }} |
| run: | |
| cd integrations/docker/images/base/chip-build${{ matrix.img }} |
| ./build.sh --latest |
| build_images_stage_1: |
| needs: [build_images_base] |
| name: Build Docker CHIP Build images - stage 1 |
| runs-on: ubuntu-latest |
| if: github.actor != 'restyled-io[bot]' |
| strategy: |
| fail-fast: false |
| matrix: |
| img: |
| - "-crosscompile" |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v4 |
| - name: Build & Push images using project bash script |
| if: ${{ inputs.push_images == true }} |
| run: | |
| cd integrations/docker/images/stage-1/chip-build${{ matrix.img }} |
| ./build.sh --latest --push |
| - name: Build images using project bash script |
| if: ${{ inputs.push_images == false }} |
| run: | |
| cd integrations/docker/images/stage-1/chip-build${{ matrix.img }} |
| ./build.sh --latest |
| build_images_stage_2: |
| needs: [build_images_base, build_images_stage_1] |
| name: Build Docker CHIP Build images - stage 2 |
| runs-on: ubuntu-latest |
| if: github.actor != 'restyled-io[bot]' |
| strategy: |
| fail-fast: false |
| matrix: |
| img: |
| - "-ameba" |
| - "-asr" |
| - "-bouffalolab" |
| - "-doxygen" |
| - "-efr32" |
| - "-esp32" |
| - "-infineon" |
| # NOTE: imx image requires too much space for GitHub-hosted runners. It fails with: |
| # ApplyLayer exit status 1 stdout: stderr: write /opt/fsl-imx-xwayland/5.15-kirkstone/sysroots/armv8a-poky-linux/opt/ltp/testcases/bin/fanotify15: no space left on device |
| # - "-imx" |
| - "-java" |
| - "-nxp" |
| - "-nrf-platform" |
| - "-telink" |
| - "-ti" |
| - "-tizen" |
| - "-openiotsdk" |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v4 |
| - name: Build & Push images using project bash script |
| if: ${{ inputs.push_images == true }} |
| run: | |
| cd integrations/docker/images/stage-2/chip-build${{ matrix.img }} |
| ./build.sh --latest --push |
| - name: Build images using project bash script |
| if: ${{ inputs.push_images == false }} |
| run: | |
| cd integrations/docker/images/stage-2/chip-build${{ matrix.img }} |
| ./build.sh --latest |
| |
| build_images_stage_3: |
| needs: [build_images_base, build_images_stage_1, build_images_stage_2] |
| name: Build Docker CHIP Build images - stage 3 |
| runs-on: ubuntu-latest |
| if: github.actor != 'restyled-io[bot]' |
| strategy: |
| fail-fast: false |
| matrix: |
| img: |
| - "-android" |
| - "-esp32-qemu" |
| - "-tizen-qemu" |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v4 |
| - name: Build & Push images using project bash script |
| if: ${{ inputs.push_images == true }} |
| run: | |
| cd integrations/docker/images/stage-3/chip-build${{ matrix.img }} |
| ./build.sh --latest --push |
| - name: Build images using project bash script |
| if: ${{ inputs.push_images == false }} |
| run: | |
| cd integrations/docker/images/stage-3/chip-build${{ matrix.img }} |
| ./build.sh --latest |
| build_images_vscode: |
| needs: [build_images_base, build_images_stage_1, build_images_stage_2, build_images_stage_3] |
| name: Build Docker CHIP Build images - vscode |
| runs-on: ubuntu-latest |
| if: github.actor != 'restyled-io[bot]' && false |
| strategy: |
| fail-fast: false |
| matrix: |
| img: |
| - "-vscode" |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v4 |
| - name: Build & Push images using project bash script |
| if: ${{ inputs.push_images == true }} |
| run: | |
| cd integrations/docker/images/vscode/chip-build${{ matrix.img }} |
| ./build.sh --latest --push |
| - name: Build images using project bash script |
| if: ${{ inputs.push_images == false }} |
| run: | |
| cd integrations/docker/images/vscode-3/chip-build${{ matrix.img }} |
| ./build.sh --latest |