1
0
Fork 0
mirror of https://github.com/yshui/picom.git synced 2024-12-02 14:15:41 -05:00
picom/.circleci/config.yml
Yuxuan Shui 15c7abcf41
Make ubsan stricter
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-05-21 20:15:25 +01:00

127 lines
2.8 KiB
YAML

executors:
e:
docker:
- image: yshui/comptonci
working_directory: "/tmp/workspace"
environment:
UBSAN_OPTIONS: "halt_on_error=1"
version: 2.1
commands:
build:
parameters:
build-config:
type: string
default: ""
cc:
type: string
default: cc
steps:
- restore_cache:
keys:
- source-v1-{{ .Branch }}-{{ .Revision }}
- source-v1-{{ .Branch }}-
- source-v1-
- checkout
- save_cache:
key: source-v1-{{ .Branch }}-{{ .Revision }}
paths:
- ".git"
- run:
name: config
command: CC=<< parameters.cc >> meson << parameters.build-config >> -Dunittest=true --werror . build
- run:
name: build
command: ninja -vC build
test-xvfb:
steps:
- run:
name: xxx
command: xvfb-run -s "-screen 0 640x480x24" glxinfo
jobs:
basic:
executor: e
steps:
- build:
build-config: -Dbuild_docs=true -Db_coverage=true
- persist_to_workspace:
root: .
paths:
- .
test:
executor: e
steps:
- attach_workspace:
at: /tmp/workspace
- run:
name: unit test
command: ninja -vC build test
- run:
name: test config file parsing
command: xvfb-run -s "-screen 0 640x480x24" build/src/compton --config compton.sample.conf --vsync=none --diagnostics
- run:
name: generate coverage reports
command: cd build; find -name '*.gcno' -exec gcov -pb {} +
- run:
name: download codecov scripts
command: curl -s https://codecov.io/bash > codecov.sh
- run:
name: upload coverage reports
command: bash ./codecov.sh -X gcov
minimal:
executor: e
steps:
- build:
build-config: -Dopengl=false -Ddbus=false -Dregex=false -Dconfig_file=false
nogl:
executor: e
steps:
- build:
build-config: -Dopengl=false
noregex:
executor: e
steps:
- build:
build-config: -Dregex=false
clang_basic:
executor: e
steps:
- build:
cc: clang
clang_minimal:
executor: e
steps:
- build:
cc: clang
build-config: -Dopengl=false -Ddbus=false -Dregex=false -Dconfig_file=false
clang_nogl:
executor: e
steps:
- build:
cc: clang
build-config: -Dopengl=false
clang_noregex:
executor: e
steps:
- build:
cc: clang
build-config: -Dregex=false
workflows:
all_builds:
jobs:
- basic
- clang_basic
- minimal
- clang_minimal
- nogl
- clang_nogl
- test:
requires:
- basic
# - test-xvfb
# vim: set sw=2 ts=8 et: