diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:15:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:15:13 +0000 |
commit | 5fb98df7b32417914e9b282e91987199416d0a97 (patch) | |
tree | d674271dc3d99faa1a75fa689888ee3d3aec4e10 /.gitlab-ci.yml | |
parent | Initial commit. (diff) | |
download | ipcalc-ng-upstream.tar.xz ipcalc-ng-upstream.zip |
Adding upstream version 1.0.3.upstream/1.0.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | .gitlab-ci.yml | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..7ee01e4 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,100 @@ +stages: + - generate + - deploy + +.fedora.latest.template: &fedora_template + image: fedora:latest + before_script: +#in F34 rubygem-ronn got replaced by rubygem-ronn-ng + - dnf install -y GeoIP-devel libmaxminddb-devel make meson ninja-build gcc libasan geolite2-{city,country} rubygem-ronn + +fedora.nogeo: + stage: generate + <<: *fedora_template + script: + - meson setup build -Duse_maxminddb=disabled -Duse_geoip=disabled --buildtype=plain -Dc_args="-O2 -g -Werror" + - ninja -C build + - ninja -C build test + - USE_MAXMIND=no USE_GEOIP=no USE_RUNTIME_LINKING=no CFLAGS="-O2 -g -Werror" make + +fedora.geoip: + stage: generate + <<: *fedora_template + script: + - meson setup build -Duse_maxminddb=disabled -Duse_geoip=enabled -Duse_runtime_linking=disabled --buildtype=plain -Dc_args="-O2 -g -Werror" + - ninja -C build + - ninja -C build test + - USE_GEOIP=yes USE_RUNTIME_LINKING=no USE_MAXMIND=no CFLAGS="-O2 -g -Werror" make + +fedora.dyn_geoip: + stage: generate + <<: *fedora_template + script: + - meson setup build -Duse_maxminddb=disabled -Duse_geoip=enabled -Duse_runtime_linking=enabled --buildtype=plain -Dc_args="-O2 -g -Werror" + - ninja -C build + - ninja -C build test + - USE_GEOIP=yes USE_RUNTIME_LINKING=yes USE_MAXMIND=no CFLAGS="-O2 -g -Werror" make + +fedora.maxmind: + stage: generate + <<: *fedora_template + script: + - meson setup build -Duse_maxminddb=enabled -Duse_geoip=disabled -Duse_runtime_linking=disabled --buildtype=plain -Dc_args="-O2 -g -Werror" + - ninja -C build + - ninja -C build test + - USE_GEOIP=no USE_RUNTIME_LINKING=no USE_MAXMIND=yes CFLAGS="-O2 -g -Werror" make + +fedora.dyn_maxmind: + stage: generate + <<: *fedora_template + script: + - meson setup build -Duse_maxminddb=enabled -Duse_geoip=disabled -Duse_runtime_linking=enabled --buildtype=plain -Dc_args="-O2 -g -Werror" + - ninja -C build + - ninja -C build test + - USE_GEOIP=no USE_RUNTIME_LINKING=yes USE_MAXMIND=yes CFLAGS="-O2 -g -Werror" make + +fedora.dyn_maxmind_with_asan: + stage: generate + <<: *fedora_template + script: + - export ASAN_OPTIONS="detect_leaks=0" + - meson setup build -Db_sanitize=address -Dwerror=true + - ninja -C build test + - ./build/ipcalc -g 217.31.205.50 + +# Generates coverage report +pages-test: + stage: deploy + <<: *fedora_template + script: + - dnf install -y lcov + - meson setup build -Db_coverage=true -Duse_maxminddb=enabled -Duse_geoip=disabled -Duse_runtime_linking=enabled --buildtype=plain -Dc_args="-Og -g -Werror" + - ninja -C build + - ninja -C build test + - ninja -C build coverage-html && mv build/meson-logs/coveragereport public + + + tags: + - shared + except: + - master + +pages: + stage: deploy + <<: *fedora_template + script: + - dnf install -y lcov + - meson setup build -Db_coverage=true -Duse_maxminddb=enabled -Duse_geoip=disabled -Duse_runtime_linking=enabled --buildtype=plain -Dc_args="-Og -g -Werror" + - ninja -C build + - ninja -C build test + - ninja -C build coverage-html && mv build/meson-logs/coveragereport public + - tests/run-coverage.sh + tags: + - shared + coverage: '/coverage lines: \d+\.\d+/' + artifacts: + when: on_success + paths: + - public + only: + - master |