wlroots/.builds/alpine.yml
Simon Ser 44323d8588 contributing: require DCO
DCO requires contributors to certify that they have the right to
submit their patches under the project's open-source license.
This establishes a clear chain of responsibility for the copyright
status of the code.

The rise of generative AI use is the main driver for this change:
the copyright situation is still unclear and there is no reliable
way to tell apart contributions made (in part) with generative AI.
Note, DCO had some legal upsides even before generative AIs
existed.

A new CI step has been added to check that all commits contain at
least one Signed-off-by trailer.
2026-04-26 15:58:44 +02:00

71 lines
1.9 KiB
YAML

image: alpine/edge
packages:
- eudev-dev
- glslang
- lcms2-dev
- libdisplay-info-dev
- libinput-dev
- libliftoff-dev
- libxkbcommon-dev
- mesa-dev
- meson
- pixman-dev
- vulkan-headers
- vulkan-loader-dev
- wayland-dev
- wayland-protocols
- xcb-util-image-dev
- xcb-util-renderutil-dev
- xcb-util-wm-dev
- xwayland-dev
- libseat-dev
- hwdata-dev
# for docs
- go
- zip
sources:
- https://gitlab.freedesktop.org/wlroots/wlroots.git
artifacts:
- public.zip
tasks:
- setup: |
cd wlroots
meson setup build --fatal-meson-warnings --default-library=both -Dauto_features=enabled -Dxcb-errors=disabled --buildtype=debugoptimized
- build: |
cd wlroots
ninja -C build
sudo ninja -C build install
- test: |
cd wlroots
meson test -C build --verbose
- build-features-disabled: |
cd wlroots
meson setup build --reconfigure -Dauto_features=disabled
ninja -C build
- tinywl: |
cd wlroots/tinywl
make
- docs: |
go install 'codeberg.org/emersion/gyosu@latest'
include_dir="$(echo /usr/local/include/wlroots-*)"
~/go/bin/gyosu \
-DWLR_USE_UNSTABLE \
$(pkg-config --cflags-only-I $(basename "$include_dir")) \
-Iwlroots/build/protocol/ \
-fexported-symbols='wlr_*' -fexported-symbols='WLR_*' \
-ffile-prefix-map="$include_dir/"= \
-fsite-name=wlroots \
-o public \
"$include_dir/wlr/"
zip -r ~/public.zip public/
- check-dco: |
set +x
cd wlroots
[ "${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-}" = "" ] && exit
git rev-list "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME".. | while read -r rev; do
sob=$(git log -1 --pretty='%(trailers:key=Signed-off-by,separator= )')
if [ "$sob" = "" ]; then
echo "Commit $rev is missing a Signed-off-by trailer"
exit 1
fi
done