ci: build with different versions of EFL (1.20.7, 1.21.1, 1.22.2)

This commit is contained in:
Boris Faure 2019-05-21 11:05:06 +02:00
parent 67de5e75b2
commit c7d92ecc6c
1 changed files with 90 additions and 35 deletions

View File

@ -21,12 +21,34 @@ jobs:
paths: paths:
- /terminology - /terminology
build_gcc: build_full_clang_elf-1.22:
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-22/efl-1.22.2-r0.apk /pkg/efl-22/efl-dev-1.22.2-r0.apk
- run:
name: Compile with Clang
command: |
cd /terminology
meson -Dtests=true -Dfuzzing=true . build
meson configure build
cd build
ninja -j4
build_full_gcc_efl-1.22:
docker: docker:
- image: borisfaure/terminology-ci:latest - image: borisfaure/terminology-ci:latest
steps: steps:
- restore_cache: - restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }} key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
command: apk add /pkg/efl-22/efl-1.22.2-r0.apk /pkg/efl-22/efl-dev-1.22.2-r0.apk
- run: - run:
name: Compile with GCC name: Compile with GCC
environment: environment:
@ -36,57 +58,90 @@ jobs:
meson -Dtests=true -Dfuzzing=true -Db_coverage=true . build meson -Dtests=true -Dfuzzing=true -Db_coverage=true . build
meson configure build meson configure build
cd build cd build
ninja ninja -j4
- save_cache: - save_cache:
key: build_gcc-{{ .Environment.CIRCLE_SHA1 }} key: build_full_gcc-efl-1.22-{{ .Environment.CIRCLE_SHA1 }}
paths: paths:
- /terminology - /terminology
build_minimal_gcc_efl-1.21:
docker:
- image: borisfaure/terminology-ci:latest
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
command: apk add /pkg/efl-21/efl-1.21.1-r0.apk /pkg/efl-21/efl-dev-1.21.1-r0.apk
- run:
name: Compile with GCC
command: |
cd /terminology
meson . build
meson configure build
cd build
ninja -j4
build_minimal_gcc_efl-1.20:
docker:
- image: borisfaure/terminology-ci:latest
steps:
- restore_cache:
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run:
name: Install EFL
command: apk add /pkg/efl-20/efl-1.20.7-r0.apk /pkg/efl-20/efl-dev-1.20.7-r0.apk
- run:
name: Compile with GCC
command: |
cd /terminology
meson . build
meson configure build
cd build
ninja -j4
tests_gcc: tests_gcc:
docker: docker:
- image: borisfaure/terminology-ci:latest - image: borisfaure/terminology-ci:latest
steps: steps:
- restore_cache: - restore_cache:
key: build_gcc-{{ .Environment.CIRCLE_SHA1 }} key: build_full_gcc-efl-1.22-{{ .Environment.CIRCLE_SHA1 }}
- run: | - run:
cd /terminology name: Install EFL
tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/ command: apk add /pkg/efl-22/efl-1.22.2-r0.apk /pkg/efl-22/efl-dev-1.22.2-r0.apk
- run: | - run:
cd /terminology/build/ name: Launch tests
cd src/bin command: |
rm -fr *@@terminology@exe *@@tyalpha@exe *@@tybg@exe *@@tycat@exe cd /terminology
rm -fr *@@tyfuzz@exe *@@tyls@exe *@@typop@exe *@@tyq@exe tests/run_tests.sh -v -t build/src/bin/tytest -r tests/tests.results -d tests/
rm -fr *@@tysend@exe - run:
cd /terminology/build/ name: codecov
curl -s https://codecov.io/bash > .codecov command: |
chmod +x .codecov cd /terminology/build/
sed -i.bak 's/execdir/exec/' .codecov cd src/bin
./.codecov -Z rm -fr *@@terminology@exe *@@tyalpha@exe *@@tybg@exe *@@tycat@exe
build_clang: rm -fr *@@tyfuzz@exe *@@tyls@exe *@@typop@exe *@@tyq@exe
docker: rm -fr *@@tysend@exe
- image: borisfaure/terminology-ci:latest cd /terminology/build/
environment: curl -s https://codecov.io/bash > .codecov
- CC: clang chmod +x .codecov
steps: sed -i.bak 's/execdir/exec/' .codecov
- restore_cache: ./.codecov -Z
key: checkout-{{ .Environment.CIRCLE_SHA1 }}
- run: |
cd /terminology
meson -Dtests=true -Dfuzzing=true . build
meson configure build
cd build
ninja
path: /terminology path: /terminology
workflows: workflows:
version: 2 version: 2
build-and-deploy: build-and-deploy:
jobs: jobs:
- checkout_code - checkout_code
- build_gcc: - build_full_gcc_efl-1.22:
requires:
- checkout_code
- build_minimal_gcc_efl-1.21:
requires:
- checkout_code
- build_minimal_gcc_efl-1.20:
requires: requires:
- checkout_code - checkout_code
- tests_gcc: - tests_gcc:
requires: requires:
- build_gcc - build_full_gcc_efl-1.22
- build_clang: - build_full_clang_elf-1.22:
requires: requires:
- checkout_code - checkout_code