before_script: - uname -a - whoami - export LC_ALL=C.UTF-8 - export LANG=C.UTF-8 - echo $LANG - g++ --version - clang++ --version - rm -rf build/ - mkdir build/ - cd build variables: COMPILER: "g++" BUILD_TYPE: "Debug" BOTAN: "-DWITH_BOTAN=1" CARES: "-DWITH_CARES=1" SYSTEMD: "-DWITH_SYSTEMD=1" LIBIDN: "-DWITH_LIBIDN=1" LITESQL: "-DWITH_LITESQL=1" NPROC: "$(nproc)" .template:basic_build: &basic_build stage: build script: - "echo Running cmake with the following parameters: -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${CARES} ${SYSTEMD} ${LIBIDN} ${LITESQL}" - cmake .. -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${CARES} ${SYSTEMD} ${LIBIDN} ${LITESQL} - make biboumi -j${NPROC} - make check -j${NPROC} tags: - docker image: biboumi-test-fedora:latest build:1: variables: BOTAN: "-DWITHOUT_BOTAN=1" <<: *basic_build build:2: variables: CARES: "-DWITHOUT_CARES=1" <<: *basic_build build:3: variables: LITESQL: "-DWITHOUT_LITESQL=1" <<: *basic_build build:4: variables: LITESQL: "-DWITHOUT_LITESQL=1" BOTAN: "-DWITHOUT_BOTAN=1" <<: *basic_build build:5: variables: LITESQL: "-DWITHOUT_LITESQL=1" CARES: "-DWITHOUT_CARES=1" <<: *basic_build build:6: variables: BOTAN: "-DWITHOUT_BOTAN=1" CARES: "-DWITHOUT_CARES=1" <<: *basic_build build:6: variables: LIBIDN: "-DWITHOUT_LIBIDN=1" CARES: "-DWITHOUT_CARES=1" <<: *basic_build build:rpm: stage: build image: biboumi-test-fedora:latest tags: - docker script: - cmake .. -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${CARES} ${SYSTEMD} ${LIBIDN} ${LITESQL} - make rpm -j${NPROC} artifacts: paths: - build/rpmbuild/RPMS - build/rpmbuild/SRPMS when: always name: $CI_PROJECT_NAME-rpm-$CI_BUILD_ID .template:basic_test: &basic_test stage: test script: - cmake .. -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${CARES} ${SYSTEMD} ${LIBIDN} ${LITESQL} - make biboumi -j${NPROC} - make check - make coverage - mkdir tests_outputs && pushd tests_outputs && make coverage_e2e -j${NPROC} -C .. && popd artifacts: paths: - build/coverage/ - build/coverage_e2e/ - build/tests_outputs/ when: always name: $CI_PROJECT_NAME-test-$CI_BUILD_ID test:debian: stage: test image: biboumi-test-debian:latest tags: - docker <<: *basic_test test:fedora: stage: test image: biboumi-test-fedora:latest tags: - docker <<: *basic_test test:openbsd: variables: COMPILER: "g++" SYSTEMD: "-DWITHOUT_SYSTEMD=1" NPROC: 1 stage: test tags: - openbsd <<: *basic_test test:coverity: stage: test image: biboumi-test-fedora:latest allow_failure: true when: manual script: - export PATH=$PATH:~/coverity/bin - cmake .. -DWITHOUT_SYSTEMD=1 - cov-build --dir cov-int make biboumi test_suite -j${NPROC} - tar czvf biboumi_coverity.tgz cov-int - curl --form token=$COVERITY_TOKEN --form email=louiz@louiz.org --form file=@biboumi_coverity.tgz --form version="$(git rev-parse --short HEAD)" --form description="Automatic submission by gitlab-ci" https://scan.coverity.com/builds?project=louiz%2Fbiboumi