118 lines
2.4 KiB
YAML
118 lines
2.4 KiB
YAML
executors:
|
|
e:
|
|
docker:
|
|
- image: yshui/comptonci
|
|
working_directory: "/tmp/workspace"
|
|
|
|
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: test
|
|
command: ninja -vC /tmp/workspace/build test
|
|
- run:
|
|
name: upload coverage
|
|
command: bash <(curl -s https://codecov.io/bash)
|
|
|
|
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-6.0
|
|
build-config:
|
|
clang_minimal:
|
|
executor: e
|
|
steps:
|
|
- build:
|
|
cc: clang-6.0
|
|
build-config: -Dopengl=false -Ddbus=false -Dregex=false -Dconfig_file=false
|
|
clang_nogl:
|
|
executor: e
|
|
steps:
|
|
- build:
|
|
cc: clang-6.0
|
|
build-config: -Dopengl=false
|
|
clang_noregex:
|
|
executor: e
|
|
steps:
|
|
- build:
|
|
cc: clang-6.0
|
|
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:
|