forked from enlightenment/terminology
290 lines
8.9 KiB
YAML
290 lines
8.9 KiB
YAML
version: 2.1
|
|
|
|
jobs:
|
|
checkout_code:
|
|
docker:
|
|
- image: borisfaure/terminology-ci:latest
|
|
environment:
|
|
- COLUMNS: 150
|
|
- TERM: xterm-256color
|
|
steps:
|
|
- run: |
|
|
cd /terminology
|
|
git pull --ff-only
|
|
if [ -n "$CIRCLE_PR_NUMBER" ]; then
|
|
git fetch origin pull/$CIRCLE_PR_NUMBER/head
|
|
else
|
|
if [ -n "$CIRCLE_SHA1" ]; then
|
|
git reset --hard $CIRCLE_SHA1
|
|
else
|
|
git reset --hard origin/master
|
|
fi
|
|
fi
|
|
- save_cache:
|
|
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
|
|
paths:
|
|
- /terminology
|
|
build_and_test_debug_gcc_efl_latest:
|
|
docker:
|
|
- image: borisfaure/terminology-ci:latest
|
|
environment:
|
|
- COLUMNS: 150
|
|
- TERM: xterm-256color
|
|
steps:
|
|
- restore_cache:
|
|
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run:
|
|
name: Install EFL
|
|
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
|
|
- run:
|
|
name: Compile with GCC
|
|
environment:
|
|
CFLAGS: -O0 -g
|
|
command: |
|
|
cd /terminology
|
|
meson -Dnls=false -Dtests=true -Dfuzzing=true -Db_coverage=true -Dbuildtype=debug . build
|
|
meson configure build
|
|
cd build
|
|
ninja -j4
|
|
- run:
|
|
name: Launch tests
|
|
command: |
|
|
cd /terminology
|
|
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
|
|
build/src/bin/tytest dummy
|
|
build/src/bin/tytest all
|
|
- run:
|
|
name: codecov
|
|
command: |
|
|
cd /terminology/build/
|
|
cd src/bin
|
|
rm -fr *@@terminology@exe *@@tyalpha@exe *@@tybg@exe *@@tycat@exe
|
|
rm -fr *@@tyfuzz@exe *@@tyls@exe *@@typop@exe *@@tyq@exe
|
|
rm -fr *@@tysend@exe
|
|
cd /terminology/build/
|
|
curl -s https://codecov.io/bash > .codecov
|
|
chmod +x .codecov
|
|
sed -i.bak 's/execdir/exec/' .codecov
|
|
./.codecov -Z
|
|
build_and_test_release_gcc_efl_latest:
|
|
docker:
|
|
- image: borisfaure/terminology-ci:latest
|
|
environment:
|
|
- COLUMNS: 150
|
|
- TERM: xterm-256color
|
|
steps:
|
|
- restore_cache:
|
|
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run:
|
|
name: Install EFL
|
|
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
|
|
- run:
|
|
name: Compile with GCC
|
|
environment:
|
|
CFLAGS: -O0 -g
|
|
command: |
|
|
cd /terminology
|
|
meson -Dnls=false -Dtests=true -Dbuildtype=release . build
|
|
meson configure build
|
|
cd build
|
|
ninja -j4
|
|
- run:
|
|
name: Launch tests
|
|
command: |
|
|
cd /terminology
|
|
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
|
|
build/src/bin/tytest dummy
|
|
build/src/bin/tytest all
|
|
build_full_clang_efl_latest:
|
|
docker:
|
|
- image: borisfaure/terminology-ci:latest
|
|
environment:
|
|
- CC: clang
|
|
- COLUMNS: 150
|
|
- TERM: xterm-256color
|
|
steps:
|
|
- restore_cache:
|
|
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run:
|
|
name: Install EFL
|
|
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
|
|
- run:
|
|
name: Compile with Clang
|
|
command: |
|
|
cd /terminology
|
|
meson -Dnls=false -Dtests=true -Dfuzzing=true . build
|
|
meson configure build
|
|
cd build
|
|
ninja -j4
|
|
build_and_test_clang_asan_efl_latest:
|
|
docker:
|
|
- image: borisfaure/terminology-ci:latest
|
|
environment:
|
|
- CC: clang
|
|
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=address -fno-sanitize-recover=address
|
|
- COLUMNS: 150
|
|
- TERM: xterm-256color
|
|
steps:
|
|
- restore_cache:
|
|
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run:
|
|
name: Install EFL
|
|
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
|
|
- run:
|
|
name: Compile with Clang
|
|
command: |
|
|
cd /terminology
|
|
meson -Dnls=false -Dtests=true . build
|
|
meson configure build
|
|
cd build
|
|
ninja -j4
|
|
- run:
|
|
name: Launch tests
|
|
command: |
|
|
cd /terminology
|
|
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
|
|
build/src/bin/tytest dummy
|
|
build/src/bin/tytest all
|
|
build_and_test_clang_msan_efl_latest:
|
|
docker:
|
|
- image: borisfaure/terminology-ci:latest
|
|
environment:
|
|
- CC: clang
|
|
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=memory -fno-sanitize-recover=memory
|
|
- COLUMNS: 150
|
|
- TERM: xterm-256color
|
|
steps:
|
|
- restore_cache:
|
|
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run:
|
|
name: Install EFL
|
|
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
|
|
- run:
|
|
name: Compile with Clang
|
|
command: |
|
|
cd /terminology
|
|
meson -Dnls=false -Dtests=true . build
|
|
meson configure build
|
|
cd build
|
|
ninja -j4
|
|
- run:
|
|
name: Launch tests
|
|
command: |
|
|
cd /terminology
|
|
build/src/bin/tytest dummy
|
|
build/src/bin/tytest all
|
|
build_and_test_clang_lsan_efl_latest:
|
|
docker:
|
|
- image: borisfaure/terminology-ci:latest
|
|
environment:
|
|
- CC: clang
|
|
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=leak -fno-sanitize-recover=leak
|
|
- COLUMNS: 150
|
|
- TERM: xterm-256color
|
|
steps:
|
|
- restore_cache:
|
|
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run:
|
|
name: Install EFL
|
|
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
|
|
- run:
|
|
name: Compile with Clang
|
|
command: |
|
|
cd /terminology
|
|
meson -Dnls=false -Dtests=true . build
|
|
meson configure build
|
|
cd build
|
|
ninja -j4
|
|
- run:
|
|
name: Launch tests
|
|
command: |
|
|
cd /terminology
|
|
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
|
|
build/src/bin/tytest dummy
|
|
build/src/bin/tytest all
|
|
build_and_test_clang_isan_efl_latest:
|
|
docker:
|
|
- image: borisfaure/terminology-ci:latest
|
|
environment:
|
|
- CC: clang
|
|
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=integer -fno-sanitize-recover=integer
|
|
- COLUMNS: 150
|
|
- TERM: xterm-256color
|
|
steps:
|
|
- restore_cache:
|
|
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run:
|
|
name: Install EFL
|
|
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
|
|
- run:
|
|
name: Compile with Clang
|
|
command: |
|
|
cd /terminology
|
|
meson -Dnls=false -Dtests=true . build
|
|
meson configure build
|
|
cd build
|
|
ninja -j4
|
|
- run:
|
|
name: Launch tests
|
|
command: |
|
|
cd /terminology
|
|
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
|
|
build/src/bin/tytest dummy
|
|
build/src/bin/tytest all
|
|
build_and_test_clang_ubsan_efl_latest:
|
|
docker:
|
|
- image: borisfaure/terminology-ci:latest
|
|
environment:
|
|
- CC: clang
|
|
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=undefined -fno-sanitize-recover=undefined
|
|
- COLUMNS: 150
|
|
- TERM: xterm-256color
|
|
steps:
|
|
- restore_cache:
|
|
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
|
|
- run:
|
|
name: Install EFL
|
|
command: apk add /pkg/efl-latest.apk /pkg/efl-dev-latest.apk
|
|
- run:
|
|
name: Compile with Clang
|
|
command: |
|
|
cd /terminology
|
|
meson -Dnls=false -Dtests=true . build
|
|
meson configure build
|
|
cd build
|
|
ninja -j4
|
|
- run:
|
|
name: Launch tests
|
|
command: |
|
|
cd /terminology
|
|
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
|
|
build/src/bin/tytest dummy
|
|
build/src/bin/tytest all
|
|
path: /terminology
|
|
workflows:
|
|
version: 2
|
|
build-and-deploy:
|
|
jobs:
|
|
- checkout_code
|
|
- build_and_test_debug_gcc_efl_latest:
|
|
requires:
|
|
- checkout_code
|
|
- build_and_test_release_gcc_efl_latest:
|
|
requires:
|
|
- checkout_code
|
|
- build_full_clang_efl_latest:
|
|
requires:
|
|
- checkout_code
|
|
- build_and_test_clang_asan_efl_latest:
|
|
requires:
|
|
- checkout_code
|
|
- build_and_test_clang_msan_efl_latest:
|
|
requires:
|
|
- checkout_code
|
|
- build_and_test_clang_lsan_efl_latest:
|
|
requires:
|
|
- checkout_code
|
|
- build_and_test_clang_ubsan_efl_latest:
|
|
requires:
|
|
- checkout_code
|