diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1902e59952..b3b403e3b0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -254,11 +254,8 @@ stages: --libdir=lib -Dcmocka=enabled -Ddeveloper=enabled - -Ddnstap=enabled -Dleak-detection=enabled -Doptimization=1 - -Dstats-json=enabled - -Dstats-xml=enabled $EXTRA_CONFIGURE build @@ -329,26 +326,26 @@ stages: - awk '/^=+ FAILURES =+/{flag=1;next}/^=+.*=+$/{flag=0}flag' bin/tests/system/pytest.out.txt || true - awk '/^=+ ERRORS =+/{flag=1;next}/^=+.*=+$/{flag=0}flag' bin/tests/system/pytest.out.txt || true -# .shotgun: &shotgun_job -# <<: *base_image -# <<: *api_pipelines_schedules_tags_triggers_web_triggering_rules -# stage: performance -# script: -# - if [ -z "$CI_COMMIT_TAG" ]; then export SHOTGUN_ROUNDS=1; else export SHOTGUN_ROUNDS=3; fi -# - PIPELINE_ID=$(curl -s -X POST --fail -# -F "token=$CI_JOB_TOKEN" -# -F ref=main -# -F "variables[SHOTGUN_TEST_VERSION]=['$CI_COMMIT_REF_NAME', '$BIND_BASELINE_VERSION']" -# -F "variables[SHOTGUN_DURATION]=300" -# -F "variables[SHOTGUN_ROUNDS]=$SHOTGUN_ROUNDS" -# -F "variables[SHOTGUN_TRAFFIC_MULTIPLIER]=$SHOTGUN_TRAFFIC_MULTIPLIER" -# -F "variables[SHOTGUN_SCENARIO]=$SHOTGUN_SCENARIO" -# https://gitlab.isc.org/api/v4/projects/188/trigger/pipeline | jq .id) -# - util/ci-wait-shotgun.py $PIPELINE_ID -# needs: -# - job: ci-variables -# artifacts: true -# timeout: 2h +.shotgun: &shotgun_job + <<: *base_image + <<: *api_pipelines_schedules_tags_triggers_web_triggering_rules + stage: performance + script: + - if [ -z "$CI_COMMIT_TAG" ]; then export SHOTGUN_ROUNDS=1; else export SHOTGUN_ROUNDS=3; fi + - PIPELINE_ID=$(curl -s -X POST --fail + -F "token=$CI_JOB_TOKEN" + -F ref=main + -F "variables[SHOTGUN_TEST_VERSION]=['$CI_COMMIT_REF_NAME', '$BIND_BASELINE_VERSION']" + -F "variables[SHOTGUN_DURATION]=300" + -F "variables[SHOTGUN_ROUNDS]=$SHOTGUN_ROUNDS" + -F "variables[SHOTGUN_TRAFFIC_MULTIPLIER]=$SHOTGUN_TRAFFIC_MULTIPLIER" + -F "variables[SHOTGUN_SCENARIO]=$SHOTGUN_SCENARIO" + https://gitlab.isc.org/api/v4/projects/188/trigger/pipeline | jq .id) + - util/ci-wait-shotgun.py $PIPELINE_ID + needs: + - job: ci-variables + artifacts: true + timeout: 2h .system_test_common: &system_test_common <<: *default_triggering_rules @@ -719,6 +716,30 @@ docs:tarball: # # System tests affected: autosign, dnssec, and dsdigest. # allow_failure: true +# Jobs for minimal GCC builds on Alpine Linux 3.21 (amd64) + +gcc:minimal:amd64: + <<: *alpine_3_21_amd64_image + <<: *build_job + variables: + CC: gcc + CFLAGS: "${CFLAGS_COMMON}" + EXTRA_CONFIGURE: "-Dauto_features=disabled" + +system:gcc:minimal:amd64: + <<: *alpine_3_21_amd64_image + <<: *system_test_job + needs: + - job: gcc:minimal:amd64 + artifacts: true + +unit:gcc:minimal:amd64: + <<: *alpine_3_21_amd64_image + <<: *unit_test_job + needs: + - job: gcc:minimal:amd64 + artifacts: true + # Jobs for regular GCC builds on Alpine Linux 3.21 (amd64) gcc:alpine3.21:amd64: @@ -1537,11 +1558,11 @@ respdiff: # Run shotgun:udp right away, but delay other shotgun jobs sligthly in order to # allow re-use of the built container image. Otherwise, the jobs would do the # same builds in parallel rather than re-use the already built image. -# shotgun:udp: -# <<: *shotgun_job -# variables: -# SHOTGUN_SCENARIO: udp -# SHOTGUN_TRAFFIC_MULTIPLIER: 15 +shotgun:udp: + <<: *shotgun_job + variables: + SHOTGUN_SCENARIO: udp + SHOTGUN_TRAFFIC_MULTIPLIER: 15 # shotgun:tcp: # <<: *shotgun_job @@ -1559,13 +1580,13 @@ respdiff: # when: delayed # start_in: 5 minutes -shotgun:doh-get: - <<: *shotgun_job - variables: - SHOTGUN_SCENARIO: doh-get - SHOTGUN_TRAFFIC_MULTIPLIER: 3 - when: delayed - start_in: 5 minutes +# shotgun:doh-get: +# <<: *shotgun_job +# variables: +# SHOTGUN_SCENARIO: doh-get +# SHOTGUN_TRAFFIC_MULTIPLIER: 3 +# when: delayed +# start_in: 5 minutes .stress-test: &stress_test stage: performance diff --git a/gcovr.cfg b/gcovr.cfg new file mode 100644 index 0000000000..06d46e9ee0 --- /dev/null +++ b/gcovr.cfg @@ -0,0 +1,15 @@ +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +exclude_directories = bin/tests/ +exclude_directories = doc/ +exclude_directories = fuzz/ +exclude_directories = tests/ diff --git a/meson.build b/meson.build index 4888961632..9720a260b8 100644 --- a/meson.build +++ b/meson.build @@ -181,7 +181,6 @@ if not (get_option('optimization') == '0' or get_option('buildtype') == 'plain') add_project_arguments('-U_FORTIFY_SOURCE', '-D_FORTIFY_SOURCE=3', language: 'c') else add_project_arguments('-U_FORTIFY_SOURCE', '-D_FORTIFY_SOURCE=2', language: 'c') - endif endif