diff options
Diffstat (limited to '.github/workflows/yocto-builds.yml')
-rw-r--r-- | .github/workflows/yocto-builds.yml | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/.github/workflows/yocto-builds.yml b/.github/workflows/yocto-builds.yml new file mode 100644 index 0000000..408d25e --- /dev/null +++ b/.github/workflows/yocto-builds.yml @@ -0,0 +1,89 @@ +# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com> +# +# 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 \ + -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" \ + "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() |