ci: Initial CI

This commit is contained in:
Kenny Levinsen 2020-07-31 00:23:15 +02:00
parent 3b32bd539b
commit 1dbd920307
4 changed files with 119 additions and 0 deletions

26
.builds/alpine.yml Normal file
View file

@ -0,0 +1,26 @@
image: alpine/edge
packages:
- meson
- linux-headers
- clang
- clang-analyzer
sources:
- https://git.sr.ht/~kennylevinsen/seatd
tasks:
- prepare: |
cd seatd
meson build -Dseatd=enabled -Dbuiltin=enabled -Dlogind=disabled
- build: |
cd seatd
ninja -C build
- scan-build: |
cd seatd
ninja -C build scan-build
[ -z "$(ls -A build/meson-logs/scanbuild/ 2>/dev/null)" ]
- smoketest: |
cd seatd
timeout -s KILL 30s ./.builds/smoketest-seatd.sh
- check-format: |
cd seatd
ninja -C build clang-format
git diff --exit-code

28
.builds/archlinux.yml Normal file
View file

@ -0,0 +1,28 @@
image: archlinux
packages:
- meson
- linux-headers
- clang
- clang-analyzer
sources:
- https://git.sr.ht/~kennylevinsen/seatd
tasks:
- prepare: |
cd seatd
meson -Dlogind=enabled -Dseatd=enabled -Dbuiltin=enabled build
- build: |
cd seatd
ninja -C build
- scan-build: |
cd seatd
ninja -C build scan-build
[ -z "$(ls -A build/meson-logs/scanbuild/ 2>/dev/null)" ]
- smoketest: |
cd seatd
rm -rf build
meson -Db_sanitize=address -Dlogind=enabled -Dseatd=enabled -Dbuiltin=enabled build
ninja -C build
timeout -s KILL 30s ./.builds/smoketest-seatd.sh
- smoketest-builtin: |
cd seatd
timeout -s KILL 30s ./.builds/smoketest-builtin.sh

21
.builds/smoketest-builtin.sh Executable file
View file

@ -0,0 +1,21 @@
#!/bin/sh
res=0
#
# Run simpletest a few times
#
cnt=0
while [ "$cnt" -lt 5 ]
do
echo "Simpletest run $cnt"
if ! sudo LIBSEAT_BACKEND=builtin LIBSEAT_LOGLEVEL=debug SEATD_SOCK=./seatd.sock ./build/simpletest
then
echo "Simpletest failed"
res=1
break
fi
cnt=$((cnt+1))
done
exit $res

44
.builds/smoketest-seatd.sh Executable file
View file

@ -0,0 +1,44 @@
#!/bin/sh
#
# Start seatd
#
[ -f seatd.sock ] && sudo rm seatd.sock
sudo LIBSEAT_LOGLEVEL=debug SEATD_SOCK=./seatd.sock ./build/seatd &
# seatd is started in the background, so wait for it to come alive
cnt=0
while ! [ -e ./seatd.sock ] && [ "$cnt" -lt 10 ]
do
sleep 0.1
cnt=$((cnt+1))
done
if ! [ -e ./seatd.sock ]
then
echo "seatd socket not found"
exit 1
fi
sudo chmod 777 ./seatd.sock
#
# Run simpletest a few times
#
cnt=0
while [ "$cnt" -lt 5 ]
do
echo "Simpletest run $cnt"
if ! LIBSEAT_LOGLEVEL=debug SEATD_SOCK=./seatd.sock ./build/simpletest
then
echo "Simpletest failed"
sudo killall seatd
exit 1
fi
cnt=$((cnt+1))
done
#
# Wait for it to shut down
#
sudo killall seatd 2>/dev/null