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_ubsan_efl_latest: docker: - image: borisfaure/terminology-ci:latest environment: - CC: clang - 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 - 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_ubsan_efl_latest: requires: - checkout_code