mirror of
https://github.com/libratbag/libratbag.git
synced 2026-11-07 15:14:38 +01:00
128 lines
3.2 KiB
YAML
128 lines
3.2 KiB
YAML
libratbag_references:
|
|
default_settings: &default_settings
|
|
working_directory: ~/libratbag
|
|
build_default: &build_default
|
|
name: Build
|
|
command: |
|
|
rm -rf build
|
|
meson build ${MESON_PARAMS}
|
|
mesonconf build
|
|
ninja -v -C build ${NINJA_ARGS}
|
|
environment:
|
|
MESON_PARAMS: --prefix=/usr
|
|
build_and_test: &build_and_test
|
|
run:
|
|
<<: *build_default
|
|
name: Build and test
|
|
environment:
|
|
NINJA_ARGS: test
|
|
install: &install
|
|
run:
|
|
name: Installing
|
|
command: ninja -C build install
|
|
check_uninstall: &check_uninstall
|
|
run:
|
|
name: Checking if any files are left after uninstall
|
|
command: |
|
|
PREFIX=/root/test_install
|
|
# workaround until https://github.com/mesonbuild/meson/pull/2033 is merged
|
|
# and a new release appears
|
|
git clone https://github.com/whot/meson -b wip/remove-directories-on-uninstall
|
|
./meson/meson.py build_install --prefix=$PREFIX
|
|
ninja -C build_install install
|
|
ninja -C build_install uninstall
|
|
if [ -d $PREFIX ]
|
|
then
|
|
tree $PREFIX
|
|
exit 1
|
|
fi
|
|
export_logs: &export_logs
|
|
store_artifacts:
|
|
path: ~/libratbag/build/meson-logs
|
|
ninja_scan_build: &ninja_scan_build
|
|
run:
|
|
<<: *build_default
|
|
name: Ninja scan-build
|
|
environment:
|
|
NINJA_ARGS: scan-build
|
|
|
|
|
|
fedora_install: &fedora_install
|
|
run:
|
|
name: Install prerequisites
|
|
command: dnf install -y tree git gcc gcc-c++ meson check-devel libudev-devel libevdev-devel doxygen graphviz valgrind
|
|
|
|
|
|
fedora_settings: &fedora_settings
|
|
<<: *default_settings
|
|
steps:
|
|
- *fedora_install
|
|
- checkout
|
|
- *build_and_test
|
|
- *install
|
|
- *check_uninstall
|
|
- *export_logs
|
|
|
|
|
|
ubuntu_settings: &ubuntu_settings
|
|
<<: *default_settings
|
|
steps:
|
|
- run:
|
|
name: Install prerequisites
|
|
command: |
|
|
apt-get update
|
|
apt-get install -y software-properties-common
|
|
add-apt-repository universe
|
|
apt-get update
|
|
apt-get install -y tree git gcc g++ pkg-config meson check libudev-dev libevdev-dev libsystemd-dev doxygen graphviz valgrind
|
|
- checkout
|
|
- *build_and_test
|
|
- *install
|
|
- *check_uninstall
|
|
- *export_logs
|
|
|
|
|
|
scan_build_run: &scan_build_run
|
|
<<: *default_settings
|
|
steps:
|
|
- *fedora_install
|
|
- run:
|
|
name: Install clang and find
|
|
command: dnf install -y clang-analyzer findutils
|
|
- checkout
|
|
- *ninja_scan_build
|
|
- *export_logs
|
|
- run:
|
|
name: Check scan-build results
|
|
command: test ! -d ~/libratbag/build/meson-logs/scanbuild || test $(find ~/libratbag/build/meson-logs/scanbuild -maxdepth 0 ! -empty -exec echo "not empty" \; | wc -l) -eq 0 || (echo "Check scan-build results" && false)
|
|
|
|
|
|
version: 2
|
|
jobs:
|
|
fedora_rawhide:
|
|
<<: *fedora_settings
|
|
docker:
|
|
- image: fedora:rawhide
|
|
fedora_latest:
|
|
<<: *fedora_settings
|
|
docker:
|
|
- image: fedora:latest
|
|
ubuntu_17_04:
|
|
<<: *ubuntu_settings
|
|
docker:
|
|
- image: ubuntu:zesty
|
|
scan_build:
|
|
<<: *scan_build_run
|
|
docker:
|
|
- image: fedora:latest
|
|
|
|
|
|
workflows:
|
|
version: 2
|
|
compile_and_test:
|
|
jobs:
|
|
- fedora_rawhide
|
|
- scan_build
|
|
- ubuntu_17_04
|
|
#- fedora_latest
|