# SPDX-FileCopyrightText: Andrei Gherzan # # SPDX-License-Identifier: MIT --- name: Builds on: pull_request: jobs: build: strategy: fail-fast: true matrix: machine: - raspberrypi - raspberrypi0-2w-64 - raspberrypi0-2w - raspberrypi0 - raspberrypi0-wifi - raspberrypi2 - raspberrypi3-64 - raspberrypi3 - raspberrypi4-64 - raspberrypi4 - raspberrypi5 - raspberrypi-cm3 - raspberrypi-cm - raspberrypi-armv7 - raspberrypi-armv8 image: [rpi-test-image] distro: [poky] runs-on: [self-hosted, Linux] name: ${{ matrix.machine }}/${{ matrix.image }}/poky/systemd env: DL_DIR: /var/lib/ci/yocto/downloads SSTATE_DIR: /var/lib/ci/yocto/sstate steps: - name: Checkout the code uses: actions/checkout@v3 with: fetch-depth: 0 - name: Define Yocto build files id: changed-files-specific uses: tj-actions/changed-files@v24 with: files: | .github/actions/** .github/workflows/docker-images/yocto-builder/** .github/workflows/docker-images/*.sh .github/workflows/yocto-builds.yml classes/** conf/** dynamic-layers/** files/** lib/** recipes-** wic/** - name: Build a temporary yocto-builder image uses: ./.github/actions/docker-build with: docker_image: yocto-builder id: ${{ github.event.number }} if: steps.changed-files-specific.outputs.any_changed == 'true' - name: Build the image run: | docker run --rm --security-opt apparmor=unconfined \ --security-opt seccomp=unconfined \ -v "$GITHUB_WORKSPACE:/work:ro" \ -v "$DL_DIR:$DL_DIR:rw" \ -v "$SSTATE_DIR:$SSTATE_DIR:rw" \ --env "BASE_REF=$GITHUB_BASE_REF" \ --env "MACHINE=${{ matrix.machine }}" \ --env "DISTRO=${{ matrix.distro }}" \ --env "IMAGE=${{ matrix.image }}" \ --env "DL_DIR=$DL_DIR" \ --env "SSTATE_DIR=$SSTATE_DIR" \ --ulimit "nofile=1024:1048576" \ "yocto-builder-${{ github.event.number }}" \ /entrypoint-build.sh if: steps.changed-files-specific.outputs.any_changed == 'true' - name: Cleanup temporary docker image uses: ./.github/actions/docker-clean-image with: docker_image: yocto-builder-${{ github.event.number }} if: always() - name: Cleanup dangling docker images uses: ./.github/actions/docker-clean-dangling if: always()