terminology/.circleci/config.yml

219 lines
6.7 KiB
YAML
Raw Normal View History

2020-07-29 15:37:17 -07:00
version: 2.1
2018-12-22 14:42:26 -08:00
2018-12-22 06:46:20 -08:00
jobs:
2018-12-22 14:42:26 -08:00
checkout_code:
2018-12-22 06:46:20 -08:00
docker:
2018-12-22 14:42:26 -08:00
- image: borisfaure/terminology-ci:latest
2020-07-29 15:37:17 -07:00
shell: /bin/sh -leo pipefail
environment:
- BASH_ENV: /etc/profile
2018-12-22 06:46:20 -08:00
steps:
- run: |
cd /terminology
git pull --ff-only
if [ -n "$CIRCLE_PR_NUMBER" ]; then
git fetch origin pull/$CIRCLE_PR_NUMBER/head
2018-12-23 02:21:19 -08:00
else
2020-07-29 15:37:17 -07:00
if [ -n "$CIRCLE_SHA1" ]; then
git reset --hard $CIRCLE_SHA1
else
git reset --hard origin/master
fi
2018-12-22 06:46:20 -08:00
fi
2018-12-22 14:42:26 -08:00
- save_cache:
2018-12-23 02:12:08 -08:00
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
2018-12-22 14:42:26 -08:00
paths:
- /terminology
2020-07-29 15:41:22 -07:00
build_minimal_gcc_efl-1_22:
2018-12-22 14:42:26 -08:00
docker:
- image: borisfaure/terminology-ci:latest
steps:
- restore_cache:
2018-12-23 02:12:08 -08:00
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
2019-10-14 14:27:11 -07:00
command: apk add /pkg/efl-1.22.6-r0.apk /pkg/efl-dev-1.22.6-r0.apk
- run:
2019-01-12 08:24:07 -08:00
name: Compile with GCC
command: |
cd /terminology
2021-09-19 13:13:34 -07:00
meson -Dnls=false . build
2019-01-12 08:24:07 -08:00
meson configure build
cd build
ninja -j4
2020-07-29 15:41:22 -07:00
build_minimal_gcc_efl-1_23:
2018-12-23 02:12:08 -08:00
docker:
- image: borisfaure/terminology-ci:latest
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
2020-04-01 10:03:10 -07:00
command: apk add /pkg/efl-1.23.3-r2.apk /pkg/efl-dev-1.23.3-r2.apk
- run:
name: Compile with GCC
command: |
cd /terminology
meson -Dnls=false . build
meson configure build
cd build
ninja -j4
2020-09-23 14:34:16 -07:00
build_minimal_gcc_efl-1_24:
docker:
- image: borisfaure/terminology-ci:latest
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
2020-09-23 14:52:33 -07:00
command: apk add /pkg/efl-1.24.3-r0.apk /pkg/efl-dev-1.24.3-r0.apk
2020-09-23 14:34:16 -07:00
- run:
name: Compile with GCC
command: |
cd /terminology
meson -Dnls=false . build
2020-09-23 14:34:16 -07:00
meson configure build
cd build
ninja -j4
build_and_test_debug_gcc_efl_latest:
2018-12-22 14:42:26 -08:00
docker:
- image: borisfaure/terminology-ci:latest
2020-07-29 15:37:17 -07:00
shell: /bin/sh -leo pipefail
environment:
- BASH_ENV: /etc/profile
2018-12-22 14:42:26 -08:00
steps:
- restore_cache:
2018-12-23 02:12:08 -08:00
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
2020-05-23 02:58:22 -07:00
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
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
2020-05-23 02:58:22 -07:00
build/src/bin/tytest all
build_full_clang_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
environment:
- CC: clang
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_ubsan_efl_latest:
docker:
- image: borisfaure/terminology-ci:latest
environment:
- CC: clang
2020-06-11 14:32:13 -07:00
- CFLAGS: -O0 -pipe -g -fno-omit-frame-pointer -fsanitize=undefined,float-divide-by-zero,unsigned-integer-overflow,implicit-conversion,local-bounds,nullability -fno-sanitize-recover=undefined,float-divide-by-zero,unsigned-integer-overflow,implicit-conversion,local-bounds,nullability
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
2020-05-23 02:58:22 -07:00
build/src/bin/tytest all
2018-12-22 06:46:20 -08:00
path: /terminology
2018-12-22 14:42:26 -08:00
workflows:
version: 2
build-and-deploy:
jobs:
- checkout_code
2020-07-29 15:41:22 -07:00
- build_minimal_gcc_efl-1_22:
requires:
- checkout_code
2020-07-29 15:41:22 -07:00
- build_minimal_gcc_efl-1_23:
requires:
- checkout_code
2020-09-23 14:34:16 -07:00
- build_minimal_gcc_efl-1_24:
requires:
- checkout_code
- build_and_test_debug_gcc_efl_latest:
2018-12-22 14:42:26 -08:00
requires:
- checkout_code
- build_and_test_release_gcc_efl_latest:
2018-12-23 02:12:08 -08:00
requires:
- checkout_code
- build_full_clang_efl_latest:
2018-12-22 14:42:26 -08:00
requires:
- checkout_code
- build_and_test_clang_ubsan_efl_latest:
requires:
- checkout_code