17e0e3c0cSAndrew Geissler# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com> 27e0e3c0cSAndrew Geissler# 37e0e3c0cSAndrew Geissler# SPDX-License-Identifier: MIT 47e0e3c0cSAndrew Geissler 5db4c27eeSPatrick Williams--- 6db4c27eeSPatrick Williams 77e0e3c0cSAndrew Geisslername: Builds 87e0e3c0cSAndrew Geissler 97e0e3c0cSAndrew Geissleron: 107e0e3c0cSAndrew Geissler pull_request: 117e0e3c0cSAndrew Geissler 127e0e3c0cSAndrew Geisslerjobs: 137e0e3c0cSAndrew Geissler build: 147e0e3c0cSAndrew Geissler strategy: 157e0e3c0cSAndrew Geissler fail-fast: true 167e0e3c0cSAndrew Geissler matrix: 177e0e3c0cSAndrew Geissler machine: 187e0e3c0cSAndrew Geissler - raspberrypi 197e0e3c0cSAndrew Geissler - raspberrypi0-2w-64 207e0e3c0cSAndrew Geissler - raspberrypi0-2w 217e0e3c0cSAndrew Geissler - raspberrypi0 227e0e3c0cSAndrew Geissler - raspberrypi0-wifi 237e0e3c0cSAndrew Geissler - raspberrypi2 247e0e3c0cSAndrew Geissler - raspberrypi3-64 257e0e3c0cSAndrew Geissler - raspberrypi3 267e0e3c0cSAndrew Geissler - raspberrypi4-64 277e0e3c0cSAndrew Geissler - raspberrypi4 28*f52e3ddeSPatrick Williams - raspberrypi5 297e0e3c0cSAndrew Geissler - raspberrypi-cm3 307e0e3c0cSAndrew Geissler - raspberrypi-cm 3187f5cff0SAndrew Geissler - raspberrypi-armv7 3287f5cff0SAndrew Geissler - raspberrypi-armv8 3303907ee1SPatrick Williams image: [rpi-test-image] 347e0e3c0cSAndrew Geissler distro: [poky] 357e0e3c0cSAndrew Geissler runs-on: [self-hosted, Linux] 367e0e3c0cSAndrew Geissler name: ${{ matrix.machine }}/${{ matrix.image }}/poky/systemd 377e0e3c0cSAndrew Geissler env: 387e0e3c0cSAndrew Geissler DL_DIR: /var/lib/ci/yocto/downloads 397e0e3c0cSAndrew Geissler SSTATE_DIR: /var/lib/ci/yocto/sstate 407e0e3c0cSAndrew Geissler steps: 417e0e3c0cSAndrew Geissler - name: Checkout the code 427784c429SPatrick Williams uses: actions/checkout@v3 437e0e3c0cSAndrew Geissler with: 447e0e3c0cSAndrew Geissler fetch-depth: 0 45db4c27eeSPatrick Williams - name: Define Yocto build files 46db4c27eeSPatrick Williams id: changed-files-specific 47db4c27eeSPatrick Williams uses: tj-actions/changed-files@v24 48db4c27eeSPatrick Williams with: 49db4c27eeSPatrick Williams files: | 50db4c27eeSPatrick Williams .github/actions/** 51db4c27eeSPatrick Williams .github/workflows/docker-images/yocto-builder/** 52db4c27eeSPatrick Williams .github/workflows/docker-images/*.sh 53db4c27eeSPatrick Williams .github/workflows/yocto-builds.yml 542194f503SPatrick Williams classes/** 55db4c27eeSPatrick Williams conf/** 56db4c27eeSPatrick Williams dynamic-layers/** 57db4c27eeSPatrick Williams files/** 58db4c27eeSPatrick Williams lib/** 59db4c27eeSPatrick Williams recipes-** 60db4c27eeSPatrick Williams wic/** 617e0e3c0cSAndrew Geissler - name: Build a temporary yocto-builder image 627e0e3c0cSAndrew Geissler uses: ./.github/actions/docker-build 637e0e3c0cSAndrew Geissler with: 647e0e3c0cSAndrew Geissler docker_image: yocto-builder 657e0e3c0cSAndrew Geissler id: ${{ github.event.number }} 66db4c27eeSPatrick Williams if: steps.changed-files-specific.outputs.any_changed == 'true' 677e0e3c0cSAndrew Geissler - name: Build the image 687e0e3c0cSAndrew Geissler run: | 697e0e3c0cSAndrew Geissler docker run --rm \ 707e0e3c0cSAndrew Geissler -v "$GITHUB_WORKSPACE:/work:ro" \ 717e0e3c0cSAndrew Geissler -v "$DL_DIR:$DL_DIR:rw" \ 727e0e3c0cSAndrew Geissler -v "$SSTATE_DIR:$SSTATE_DIR:rw" \ 737e0e3c0cSAndrew Geissler --env "BASE_REF=$GITHUB_BASE_REF" \ 747e0e3c0cSAndrew Geissler --env "MACHINE=${{ matrix.machine }}" \ 757e0e3c0cSAndrew Geissler --env "DISTRO=${{ matrix.distro }}" \ 767e0e3c0cSAndrew Geissler --env "IMAGE=${{ matrix.image }}" \ 777e0e3c0cSAndrew Geissler --env "DL_DIR=$DL_DIR" \ 787e0e3c0cSAndrew Geissler --env "SSTATE_DIR=$SSTATE_DIR" \ 797e0e3c0cSAndrew Geissler "yocto-builder-${{ github.event.number }}" \ 807e0e3c0cSAndrew Geissler /entrypoint-build.sh 81db4c27eeSPatrick Williams if: steps.changed-files-specific.outputs.any_changed == 'true' 827e0e3c0cSAndrew Geissler - name: Cleanup temporary docker image 837e0e3c0cSAndrew Geissler uses: ./.github/actions/docker-clean-image 847e0e3c0cSAndrew Geissler with: 857e0e3c0cSAndrew Geissler docker_image: yocto-builder-${{ github.event.number }} 867e0e3c0cSAndrew Geissler if: always() 877e0e3c0cSAndrew Geissler - name: Cleanup dangling docker images 887e0e3c0cSAndrew Geissler uses: ./.github/actions/docker-clean-dangling 897e0e3c0cSAndrew Geissler if: always() 90