Because some of the jobs (the one using ssh runners, freebsd and openbsd) use runners that are only available on my own project and not forks (for security reasons), and some other jobs (coverity and sonar-qube) use private variables to be able to run. So, all these jobs would fail if run on a fork project.
166 lines
4.3 KiB
YAML
166 lines
4.3 KiB
YAML
before_script:
|
|
- uname -a
|
|
- whoami
|
|
- 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"
|
|
.template:basic_build: &basic_build
|
|
stage: build
|
|
tags:
|
|
- docker
|
|
image: biboumi-test-fedora:latest
|
|
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 || echo 1)
|
|
- make check -j$(nproc || echo 1)
|
|
|
|
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
|
|
only:
|
|
- master@louiz/biboumi
|
|
tags:
|
|
- docker
|
|
image: biboumi-test-fedora:latest
|
|
script:
|
|
- cmake .. -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${CARES} ${SYSTEMD} ${LIBIDN} ${LITESQL}
|
|
- make rpm -j$(nproc || echo 1)
|
|
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
|
|
tags:
|
|
- docker
|
|
script:
|
|
- cmake .. -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${CARES} ${SYSTEMD} ${LIBIDN} ${LITESQL}
|
|
- make biboumi -j$(nproc || echo 1)
|
|
- make check
|
|
- make coverage
|
|
- mkdir tests_outputs && pushd tests_outputs && make coverage_e2e -j$(nproc || echo 1) -C .. && popd
|
|
artifacts:
|
|
paths:
|
|
- build/coverage/
|
|
- build/coverage_e2e/
|
|
- build/tests_outputs/
|
|
when: always
|
|
name: $CI_PROJECT_NAME-test-$CI_BUILD_ID
|
|
|
|
test:debian:
|
|
image: biboumi-test-debian:latest
|
|
<<: *basic_test
|
|
|
|
test:fedora:
|
|
image: biboumi-test-fedora:latest
|
|
<<: *basic_test
|
|
|
|
test:freebsd:
|
|
only:
|
|
- master@louiz/biboumi
|
|
tags:
|
|
- freebsd
|
|
variables:
|
|
SYSTEMD: "-DWITHOUT_SYSTEMD=1"
|
|
stage: test
|
|
script:
|
|
- cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${CARES} ${SYSTEMD} ${LIBIDN} ${LITESQL}
|
|
- make biboumi
|
|
- make check
|
|
- make e2e
|
|
|
|
test:openbsd:
|
|
stage: test
|
|
only:
|
|
- master@louiz/biboumi
|
|
tags:
|
|
- openbsd
|
|
variables:
|
|
COMPILER: "g++"
|
|
SYSTEMD: "-DWITHOUT_SYSTEMD=1"
|
|
script:
|
|
- cmake .. -DCMAKE_CXX_COMPILER=${COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${BOTAN} ${CARES} ${SYSTEMD} ${LIBIDN} ${LITESQL}
|
|
- make biboumi
|
|
- make check
|
|
|
|
test:coverity:
|
|
stage: test
|
|
only:
|
|
- master@louiz/biboumi
|
|
tags:
|
|
- docker
|
|
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 || echo 1)
|
|
- 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
|
|
|
|
test:sonar-qube:
|
|
stage: test
|
|
only:
|
|
- master@louiz/biboumi
|
|
tags:
|
|
- docker
|
|
image: biboumi-test-fedora:latest
|
|
script:
|
|
- cmake ..
|
|
- ~/sonar-scanner/bin/build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir ./bw-outputs make biboumi test_suite
|
|
- cd ..
|
|
- ~/sonar-scanner/bin/sonar-scanner -Dsonar.host.url=https://sonarqube.com -Dsonar.login=$SONAR_LOGIN -Dsonar.language=cpp -Dsonar.cfamily.build-wrapper-output=build/bw-outputs -Dsonar.sourceEncoding=UTF-8 -Dsonar.sources=src/,louloulibs/,tests/ -Dsonar.projectKey=biboumi -Dsonar.projectName=Biboumi -Dsonar.projectVersion=3.0
|