+++ /dev/null
-# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0:
-
-libinput_jobs:
- default_settings: &default_settings
- working_directory: ~/libinput
- # Define a couple of standardized build targets
- # that we call from every build container
- build_and_test_default: &build_and_test_default
- name: Build
- command: |
- rm -rf build
- meson build ${MESON_PARAMS}
- meson configure build
- ninja -v -C build ${NINJA_ARGS}
- environment:
- MESON_PARAMS: --prefix=/opt/libinput
- build_and_test: &build_and_test
- run:
- <<: *build_and_test_default
- build_no_libwacom: &build_no_libwacom
- run:
- <<: *build_and_test_default
- name: Build - No libwacom
- environment:
- MESON_PARAMS: -Dlibwacom=false
- build_no_debug_gui: &build_no_debug_gui
- run:
- <<: *build_and_test_default
- name: Build - No debug-gui
- environment:
- MESON_PARAMS: -Ddebug-gui=false
- build_no_tests: &build_no_tests
- run:
- <<: *build_and_test_default
- name: Build - No tests
- environment:
- MESON_PARAMS: -Dtests=false
- build_no_docs: &build_no_docs
- run:
- <<: *build_and_test_default
- name: Build - No docs
- environment:
- MESON_PARAMS: -Ddocumentation=false
- build_dist: &build_dist
- run:
- <<: *build_and_test_default
- name: Build - ninja dist
- environment:
- NINJA_ARGS: dist
- ninja_scan_build: &ninja_scan_build
- run:
- <<: *build_and_test_default
- name: Ninja scan-build
- environment:
- NINJA_ARGS: scan-build
- install: &install
- run:
- name: Installing
- command: ninja -v -C build install
- export_logs: &export_logs
- store_artifacts:
- path: ~/libinput/build/meson-logs
-
-fedora_install: &fedora_install
- run:
- name: Install prerequisites
- command: |
- dnf install -y git gcc gcc-c++ meson check-devel libudev-devel libevdev-devel doxygen graphviz valgrind binutils libwacom-devel cairo-devel gtk3-devel glib2-devel mtdev-devel
-
-fedora_build_all: &fedora_build_all
- <<: *default_settings
- steps:
- - *fedora_install
- - checkout
- - *build_and_test
- - *install
- - *export_logs
- - *build_no_libwacom
- - *build_no_debug_gui
- - *build_no_tests
- - *build_no_docs
- - *build_dist
-
-ubuntu_install: &ubuntu_install
- 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 git gcc g++ meson check libudev-dev libevdev-dev doxygen graphviz valgrind binutils libwacom-dev libcairo2-dev libgtk-3-dev libglib2.0-dev libmtdev-dev
-
-ubuntu_build_all: &ubuntu_build_all
- <<: *default_settings
- steps:
- - *ubuntu_install
- - checkout
- - *build_and_test
- - *install
- - *export_logs
- - *build_no_libwacom
- - *build_no_debug_gui
- - *build_no_tests
- - *build_no_docs
- - *build_dist
-
-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 ~/libinput/build/meson-logs/scanbuild || test $(find ~/libinput/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_latest:
- <<: *fedora_build_all
- docker:
- - image: fedora:latest
- ubuntu_17_10:
- <<: *ubuntu_build_all
- docker:
- - image: ubuntu:artful
- scan_build:
- <<: *scan_build_run
- docker:
- - image: fedora:latest
-
-workflows:
- version: 2
- compile:
- jobs:
- - fedora_latest
- - scan_build
- - ubuntu_17_10