| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- # 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"
- - "-k32w"
- - "-mbed-os"
- - "-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
|