2019-03-21 20:22:10 +00:00
|
|
|
executors:
|
|
|
|
e:
|
|
|
|
docker:
|
|
|
|
- image: yshui/comptonci
|
|
|
|
working_directory: "/tmp/workspace"
|
2019-03-29 21:52:15 +00:00
|
|
|
environment:
|
|
|
|
UBSAN_OPTIONS: "halt_on_error=1"
|
2018-12-16 17:51:09 +00:00
|
|
|
|
|
|
|
version: 2.1
|
2018-12-19 23:45:52 +00:00
|
|
|
commands:
|
2018-12-16 05:45:54 +00:00
|
|
|
build:
|
2018-12-16 17:51:09 +00:00
|
|
|
parameters:
|
|
|
|
build-config:
|
|
|
|
type: string
|
2019-03-27 21:11:27 +00:00
|
|
|
default: ""
|
2018-12-19 23:45:52 +00:00
|
|
|
cc:
|
|
|
|
type: string
|
|
|
|
default: cc
|
2018-12-16 16:36:15 +00:00
|
|
|
steps:
|
2018-12-16 17:51:09 +00:00
|
|
|
- restore_cache:
|
|
|
|
keys:
|
|
|
|
- source-v1-{{ .Branch }}-{{ .Revision }}
|
|
|
|
- source-v1-{{ .Branch }}-
|
|
|
|
- source-v1-
|
2018-12-16 16:36:15 +00:00
|
|
|
- checkout
|
2018-12-16 17:51:09 +00:00
|
|
|
- save_cache:
|
|
|
|
key: source-v1-{{ .Branch }}-{{ .Revision }}
|
|
|
|
paths:
|
|
|
|
- ".git"
|
2018-12-16 16:36:15 +00:00
|
|
|
- run:
|
|
|
|
name: config
|
2024-02-14 00:19:29 +03:00
|
|
|
command: CC=<< parameters.cc >> meson setup << parameters.build-config >> -Dunittest=true --werror . build
|
2018-12-16 16:36:15 +00:00
|
|
|
- run:
|
|
|
|
name: build
|
2019-03-21 20:22:10 +00:00
|
|
|
command: ninja -vC build
|
2018-12-19 23:45:52 +00:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
basic:
|
2019-03-21 20:22:10 +00:00
|
|
|
executor: e
|
2018-12-19 23:45:52 +00:00
|
|
|
steps:
|
|
|
|
- build:
|
2021-01-06 00:08:21 -03:00
|
|
|
build-config: -Dwith_docs=true -Db_coverage=true
|
2019-03-21 20:22:10 +00:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- .
|
|
|
|
test:
|
|
|
|
executor: e
|
|
|
|
steps:
|
|
|
|
- attach_workspace:
|
|
|
|
at: /tmp/workspace
|
|
|
|
- run:
|
2024-08-01 13:59:22 +01:00
|
|
|
name: Tests
|
|
|
|
command: |
|
|
|
|
ulimit -c unlimited
|
|
|
|
|
|
|
|
printf "\n::: Unit tests :::\n"
|
|
|
|
ninja -vC build test
|
|
|
|
|
|
|
|
printf "\n::: test config file parsing :::\n"
|
|
|
|
xvfb-run -a -s "-screen 0 640x480x24" build/src/picom --config tests/configs/parsing_test.conf --no-vsync --diagnostics
|
|
|
|
|
|
|
|
printf "\n::: test config file parsing in a different locale :::\n"
|
|
|
|
LC_NUMERIC=de_DE.UTF-8 xvfb-run -a -s "-screen 0 640x480x24" build/src/picom --config tests/configs/parsing_test.conf --no-vsync --diagnostics
|
|
|
|
|
|
|
|
printf "\n::: run testsuite :::\n"
|
|
|
|
tests/run_tests.sh build/src/picom
|
2019-03-21 22:14:53 +00:00
|
|
|
- run:
|
2019-03-23 16:53:12 +00:00
|
|
|
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
|
2024-08-01 13:59:22 +01:00
|
|
|
- run:
|
|
|
|
name: collect coredumps
|
|
|
|
when: on_fail
|
|
|
|
command: |
|
|
|
|
. $HOME/.cargo/env
|
|
|
|
mkdir /tmp/artifacts
|
|
|
|
for c in tests/core.*; do
|
|
|
|
coredump-copy $c /tmp/coredumps/`basename $c`
|
|
|
|
done
|
2024-08-02 18:20:35 +01:00
|
|
|
tar Jcf /tmp/artifacts/coredumps.tar.xz /tmp/coredumps
|
2024-08-01 13:59:22 +01:00
|
|
|
- store_artifacts:
|
|
|
|
path: /tmp/artifacts
|
2019-03-21 22:14:53 +00:00
|
|
|
|
2018-12-19 23:45:52 +00:00
|
|
|
minimal:
|
2019-03-21 20:22:10 +00:00
|
|
|
executor: e
|
2018-12-19 23:45:52 +00:00
|
|
|
steps:
|
|
|
|
- build:
|
2024-04-20 16:24:24 +01:00
|
|
|
build-config: -Dopengl=false -Ddbus=false -Dregex=false
|
2019-10-12 15:15:37 +01:00
|
|
|
release:
|
|
|
|
executor: e
|
|
|
|
steps:
|
|
|
|
- build:
|
|
|
|
build-config: --buildtype=release
|
|
|
|
release-clang:
|
|
|
|
executor: e
|
|
|
|
steps:
|
|
|
|
- build:
|
|
|
|
cc: clang
|
|
|
|
build-config: --buildtype=release
|
2018-12-19 23:45:52 +00:00
|
|
|
nogl:
|
2019-03-21 20:22:10 +00:00
|
|
|
executor: e
|
2018-12-19 23:45:52 +00:00
|
|
|
steps:
|
|
|
|
- build:
|
2019-02-09 15:52:40 +00:00
|
|
|
build-config: -Dopengl=false
|
2018-12-19 23:45:52 +00:00
|
|
|
noregex:
|
2019-03-21 20:22:10 +00:00
|
|
|
executor: e
|
2018-12-19 23:45:52 +00:00
|
|
|
steps:
|
|
|
|
- build:
|
2019-02-09 15:52:40 +00:00
|
|
|
build-config: -Dregex=false
|
2018-12-19 23:45:52 +00:00
|
|
|
clang_basic:
|
2019-03-21 20:22:10 +00:00
|
|
|
executor: e
|
2018-12-19 23:45:52 +00:00
|
|
|
steps:
|
|
|
|
- build:
|
2019-03-21 23:05:50 +00:00
|
|
|
cc: clang
|
2018-12-19 23:45:52 +00:00
|
|
|
clang_minimal:
|
2019-03-21 20:22:10 +00:00
|
|
|
executor: e
|
2018-12-19 23:45:52 +00:00
|
|
|
steps:
|
2018-12-16 17:51:09 +00:00
|
|
|
- build:
|
2019-03-21 23:05:50 +00:00
|
|
|
cc: clang
|
2024-04-20 16:24:24 +01:00
|
|
|
build-config: -Dopengl=false -Ddbus=false -Dregex=false
|
2018-12-19 23:45:52 +00:00
|
|
|
clang_nogl:
|
2019-03-21 20:22:10 +00:00
|
|
|
executor: e
|
2018-12-19 23:45:52 +00:00
|
|
|
steps:
|
2018-12-16 17:51:09 +00:00
|
|
|
- build:
|
2019-03-21 23:05:50 +00:00
|
|
|
cc: clang
|
2019-02-09 15:52:40 +00:00
|
|
|
build-config: -Dopengl=false
|
2018-12-19 23:45:52 +00:00
|
|
|
clang_noregex:
|
2019-03-21 20:22:10 +00:00
|
|
|
executor: e
|
2018-12-19 23:45:52 +00:00
|
|
|
steps:
|
2018-12-16 17:51:09 +00:00
|
|
|
- build:
|
2019-03-21 23:05:50 +00:00
|
|
|
cc: clang
|
2019-02-09 15:52:40 +00:00
|
|
|
build-config: -Dregex=false
|
2018-12-19 23:45:52 +00:00
|
|
|
|
|
|
|
workflows:
|
|
|
|
all_builds:
|
|
|
|
jobs:
|
|
|
|
- basic
|
|
|
|
- clang_basic
|
|
|
|
- minimal
|
|
|
|
- clang_minimal
|
|
|
|
- nogl
|
|
|
|
- clang_nogl
|
2019-10-12 15:17:28 +01:00
|
|
|
- release
|
|
|
|
- release-clang
|
2019-03-21 20:22:10 +00:00
|
|
|
- test:
|
|
|
|
requires:
|
|
|
|
- basic
|
2018-12-19 23:45:52 +00:00
|
|
|
# vim: set sw=2 ts=8 et:
|