Files
linux/.github/workflows/dtoverlaycheck.yml
Dave Stevenson bdb8db31f9 workflows: We all love checkpatch, so add it to the CI workflows
This is currently running on defaults, so the --strict desired
for media drivers and similar won't be observed. That may be
possible to add later.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>

.github: Add Github Workflow for KUnit

Now that we have some KUnit coverage, let's add a github actions file to
run them on each push or pull request.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>

.github/workflows: Add dtoverlaycheck workflow

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>

.github/workflows: Create workflow to CI kernel builds

Builds the bcmrpi, bcm2709, bcm2711, and bcm2835 32 bit kernels,
and defconfig and bcm2711 64bit kernels, saving the artifacts for
7 days.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>

.github: Skip broken Generic DRM/KMS Unit Tests

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

.github/workflows: Set warnings-as-errors for builds

To avoid code with build warnings being introduced into the tree, force
CONFIG_WERROR=y in the build workflow.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

.github/workflows: Correct kernel builds artifacts

Modify the kernel build workflow to create artifacts with the correct
names and structure, both as an example of what we expect and in case
anyone wants to use the output.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

.github/workflows: Switch to a matrix build

Remove the per-build duplication by putting build parameters in a
matrix.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

.github/workflows: Retain artifacts for 90 days

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

.github/workflows: Add a bcm2712 build configuration

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

Update kernel-build.yml to use node.js 20

Upgrade the actions to v4 to get rid of the warning about migrating from node.js 16.

Update kunit.yml to use node.js 20

Bump actions/checkout to v4.

Update dtoverlaycheck.yml to node.js 20

.github/workflows: More jobs for kernel builds

Using the "cores * 1.5" heuristic, configure the kernel builds for the
4-core GitHub-hosted runners.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

workflows: Add arm64 bcm2711_rt build

Add a Github CI workflow bcm2711_rt_defconfig

Signed-off-by: Tim Gover <tim.gover@raspberrypi.com>

workflows: Remove the ARCH=arm bcm2711 build

As we will be moving Pi 4 support to kernel8.img only and dropping
kernel7l.img, the ARCH=arm bcm2711 defconfig has been deleted.
Remove the corresponding autobuild.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

workflows: Use bcm2709_defconfig for dtoverlaycheck

Now that ARCH=arm bcm2711_defconfig has been deleted, update
dtoverlaycheck to use bcm2709_defconfig.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

kunit: Use ubuntu-22.04 for arm64

There's a bug in the version of qemu used by Ubuntu 24.04 that kills
the arm64 KUnit test. Revert to Ubuntu 22.04 just for that test,
until ubuntu-latest updates to qemu 9.2.0+.

Link: https://bugzilla.suse.com/show_bug.cgi?id=1236310
Signed-off-by: Phil Elwell <phil@raspberrypi.com>

workflows: Switch to overlaycheck's thorough mode

Now that the current trees are passing the thorough/try-all mode of
overlaycheck (mainly by excluding trying to apply the vl805 overlay
on a CM4S), use it in the build checks.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

workflows: Ignore checkpatch UNKNOWN_COMMIT_ID

As we do a shallow clone of the repo, Fixes: tags
generally don't have the matching commit available
to lookup, and checkpatch logs it.

Ignore this error.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>

workflows: dtoverlaycheck: Update the dependencies

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

workflows: Increase timeout for toolchain install

5 minutes seems to be failing on a regular basis, so
increase it.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>

workflows: Increase DT tools installation timeout

Increase the timeout for the toolchain installation in the
dtoverlaycheck workflow, to match that for the kernel.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

workflows: Use native arm64 runners

Use native arm64 runners to speed up build process. Cross compile is
still used for arm targets, but also benefit from the arm64 runner
architecture. Overall build time will be reduced by 25 to 30 minutes by
this.

Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
2025-12-01 11:14:24 +00:00

49 lines
1.1 KiB
YAML

name: Pi dtoverlay checks
on:
pull_request:
paths-ignore:
- '.github/**'
branches: [ "rpi-*" ]
push:
paths-ignore:
- '.github/**'
branches: [ "rpi-*" ]
workflow_dispatch:
env:
UTILS_DIR: "${{github.workspace}}/utils"
jobs:
dtoverlaycheck:
runs-on: ubuntu-latest
steps:
- name: Install toolchain
run: |
sudo apt update
sudo apt-get install gcc-arm-linux-gnueabihf libfdt-dev device-tree-compiler gnutls-dev
timeout-minutes: 15
- uses: actions/checkout@v4
with:
fetch-depth: 1
clean: true
- name: overlaycheck
run: |
git clone https://github.com/raspberrypi/utils ${{env.UTILS_DIR}}
cd ${{env.UTILS_DIR}}
pwd
mkdir build
cd build
pwd
cmake ..
make -j4
sudo make install
cd ${{github.workspace}}
pwd
make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
make ARCH=arm KERNEL=kernel CROSS_COMPILE=arm-linux-gnueabihf- dtbs
${{env.UTILS_DIR}}/overlaycheck/overlaycheck -t