blob: 5a8b9e104dc41b281ffa8b3076705e61fc16f3c2 [file] [log] [blame]
# 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