.gitlab-ci.yml 32.7 KB
Newer Older
1
variables:
Michał Kępień's avatar
Michał Kępień committed
2
  # Not normally needed, but may be if some script uses `apt-get install`.
3
  DEBIAN_FRONTEND: noninteractive
Michał Kępień's avatar
Michał Kępień committed
4
  # Locale settings do not affect the build, but might affect tests.
5
  LC_ALL: C
Michał Kępień's avatar
Michał Kępień committed
6

7
  CI_REGISTRY_IMAGE: registry.gitlab.isc.org/isc-projects/images/bind9
8
  CCACHE_DIR: "/ccache"
9
  SOFTHSM2_CONF: "/var/tmp/softhsm2/softhsm2.conf"
10

11 12 13
  # VirtualBox driver needs to set build_dir to "/builds" in gitlab-runner.toml
  KYUA_RESULT: "$CI_PROJECT_DIR/kyua.results"

Michał Kępień's avatar
Michał Kępień committed
14
  GIT_DEPTH: 1
15 16 17
  BUILD_PARALLEL_JOBS: 6
  TEST_PARALLEL_JOBS: 6

Ondřej Surý's avatar
Ondřej Surý committed
18
  MAKE: make
19
  CONFIGURE: ./configure
20
  CLANG: clang-9
21
  SCAN_BUILD: scan-build-9
22 23
  SYMBOLIZER: /usr/lib/llvm-9/bin/llvm-symbolizer
  ASAN_SYMBOLIZER_PATH: "$SYMBOLIZER"
24
  CLANG_FORMAT: clang-format-10
Ondřej Surý's avatar
Ondřej Surý committed
25

Ondřej Surý's avatar
Ondřej Surý committed
26 27
  CFLAGS_COMMON: -fno-omit-frame-pointer -fno-optimize-sibling-calls -O1 -g -Wall -Wextra 

28 29 30
  # Pass run-time flags to AddressSanitizer to get core dumps on error.
  ASAN_OPTIONS_COMMON: abort_on_error=1:disable_coredump=0:unmap_shadow_on_exit=1

31 32 33
  TARBALL_COMPRESSOR: xz
  TARBALL_EXTENSION: xz

34
stages:
35
  - precheck
36
  - build
37
  - unit
Ondřej Surý's avatar
Ondřej Surý committed
38
  - system
39
  - docs
40
  - push
Ondřej Surý's avatar
Ondřej Surý committed
41
  - postcheck
42
  - release
43

Michał Kępień's avatar
Michał Kępień committed
44 45
### Runner Tag Templates

Michał Kępień's avatar
Michał Kępień committed
46
# Note: BSD runners extract the operating system version to use from job name
Michał Kępień's avatar
Michał Kępień committed
47 48 49 50 51 52

.freebsd-amd64: &freebsd_amd64
  tags:
    - freebsd
    - amd64

53
.linux-amd64: &linux_amd64
Michał Kępień's avatar
Michał Kępień committed
54 55 56 57
  tags:
    - linux
    - amd64

Ondřej Surý's avatar
Ondřej Surý committed
58 59 60 61 62
.linux-arm64: &linux_arm64
  tags:
    - linux
    - arm64

63
.linux-i386: &linux_i386
Michał Kępień's avatar
Michał Kępień committed
64 65
  tags:
    - linux
66 67
    - i386

Michał Kępień's avatar
Michał Kępień committed
68 69
.openbsd-amd64: &openbsd_amd64
  tags:
70
    - libvirt
Michał Kępień's avatar
Michał Kępień committed
71 72
    - amd64

Michał Kępień's avatar
Michał Kępień committed
73 74
### Docker Image Templates

75 76
# Alpine Linux

77 78
.alpine-3.11-amd64: &alpine_3_11_amd64_image
  image: "$CI_REGISTRY_IMAGE:alpine-3.11-amd64"
79 80
  <<: *linux_amd64

Michał Kępień's avatar
Michał Kępień committed
81 82
# CentOS

83 84 85 86 87 88 89
.centos-centos6-amd64: &centos_centos6_amd64_image
  image: "$CI_REGISTRY_IMAGE:centos-centos6-amd64"
  <<: *linux_amd64

.centos-centos7-amd64: &centos_centos7_amd64_image
  image: "$CI_REGISTRY_IMAGE:centos-centos7-amd64"
  <<: *linux_amd64
Michał Kępień's avatar
Michał Kępień committed
90

Michał Kępień's avatar
Michał Kępień committed
91 92 93 94
.centos-centos8-amd64: &centos_centos8_amd64_image
  image: "$CI_REGISTRY_IMAGE:centos-centos8-amd64"
  <<: *linux_amd64

Michał Kępień's avatar
Michał Kępień committed
95 96
# Debian

97 98
.debian-jessie-amd64: &debian_jessie_amd64_image
  image: "$CI_REGISTRY_IMAGE:debian-jessie-amd64"
99
  <<: *linux_amd64
100

101 102
.debian-stretch-amd64: &debian_stretch_amd64_image
  image: "$CI_REGISTRY_IMAGE:debian-stretch-amd64"
103
  <<: *linux_amd64
104

105
.debian-stretch-i386: &debian_stretch_i386_image
106
  image: "$CI_REGISTRY_IMAGE:debian-stretch-i386"
107
  <<: *linux_i386
108

Michał Kępień's avatar
Michał Kępień committed
109 110
.debian-buster-amd64: &debian_buster_amd64_image
  image: "$CI_REGISTRY_IMAGE:debian-buster-amd64"
111
  <<: *linux_amd64
Michał Kępień's avatar
Michał Kępień committed
112

113 114
.debian-sid-amd64: &debian_sid_amd64_image
  image: "$CI_REGISTRY_IMAGE:debian-sid-amd64"
115
  <<: *linux_amd64
116

Ondřej Surý's avatar
Ondřej Surý committed
117 118 119 120
.debian-sid-arm64: &debian_sid_arm64_image
  image: "$CI_REGISTRY_IMAGE:debian-sid-arm64"
  <<: *linux_arm64

121 122
.debian-sid-i386: &debian_sid_i386_image
  image: "$CI_REGISTRY_IMAGE:debian-sid-i386"
123
  <<: *linux_i386
124

125 126 127 128 129 130
# openSUSE Tumbleweed

.tumbleweed-latest-amd64: &tumbleweed_latest_amd64_image
  image: "$CI_REGISTRY_IMAGE:tumbleweed-latest-amd64"
  <<: *linux_amd64

Michał Kępień's avatar
Michał Kępień committed
131 132
# Fedora

Michal Nowak's avatar
Michal Nowak committed
133 134
.fedora-31-amd64: &fedora_31_amd64_image
  image: "$CI_REGISTRY_IMAGE:fedora-31-amd64"
Michał Kępień's avatar
Michał Kępień committed
135 136
  <<: *linux_amd64

Michał Kępień's avatar
Michał Kępień committed
137 138
# Ubuntu

139 140
.ubuntu-xenial-amd64: &ubuntu_xenial_amd64_image
  image: "$CI_REGISTRY_IMAGE:ubuntu-xenial-amd64"
141
  <<: *linux_amd64
Ondřej Surý's avatar
Ondřej Surý committed
142

143 144
.ubuntu-xenial-i386: &ubuntu_xenial_i386_image
  image: "$CI_REGISTRY_IMAGE:ubuntu-xenial-i386"
145
  <<: *linux_i386
Ondřej Surý's avatar
Ondřej Surý committed
146

147 148
.ubuntu-bionic-amd64: &ubuntu_bionic_amd64_image
  image: "$CI_REGISTRY_IMAGE:ubuntu-bionic-amd64"
149
  <<: *linux_amd64
150

151 152
.ubuntu-bionic-i386: &ubuntu_bionic_i386_image
  image: "$CI_REGISTRY_IMAGE:ubuntu-bionic-i386"
153
  <<: *linux_i386
154

Michał Kępień's avatar
Michał Kępień committed
155 156
### Job Templates

157 158 159 160 161
.default-triggering-rules: &default_triggering_rules
  only:
    - merge_requests
    - tags
    - web
162
    - schedules
163

164 165 166 167 168
.release-branch-triggering-rules: &release_branch_triggering_rules
  only:
    - merge_requests
    - tags
    - web
169
    - schedules
170 171 172
    - master@isc-projects/bind9
    - /^v9_[1-9][0-9]$/@isc-projects/bind9

173
.precheck: &precheck_job
174
  <<: *default_triggering_rules
175 176 177
  <<: *debian_sid_amd64_image
  stage: precheck

178
.autoconf: &autoconf_job
179
  <<: *release_branch_triggering_rules
180 181 182 183 184
  <<: *debian_sid_amd64_image
  stage: precheck
  script:
    - autoreconf -fi
  artifacts:
185 186 187 188 189
    paths:
      - aclocal.m4
      - configure
      - ltmain.sh
      - m4/libtool.m4
190
    expire_in: "1 day"
191

192
.configure: &configure |
193
    ${CONFIGURE} \
194 195 196 197 198 199 200 201 202 203 204
    --disable-maintainer-mode \
    --enable-developer \
    --with-libtool \
    --disable-static \
    --with-cmocka \
    --with-libxml2 \
    --with-json-c \
    --prefix=$HOME/.local \
    --without-make-clean \
    $EXTRA_CONFIGURE \
    || cat config.log
205

206
.build: &build_job
207
  <<: *default_triggering_rules
208
  stage: build
209
  before_script:
210
    - test -w "${CCACHE_DIR}" && export PATH="/usr/lib/ccache:${PATH}"
211
    - test -n "${OOT_BUILD_WORKSPACE}" && mkdir "${OOT_BUILD_WORKSPACE}" && cd "${OOT_BUILD_WORKSPACE}"
212
  script:
213
    - *configure
Ondřej Surý's avatar
Ondřej Surý committed
214
    - ${MAKE} -j${BUILD_PARALLEL_JOBS:-1} -k all V=1
215
    - test -z "${RUN_MAKE_INSTALL}" || make install
216 217
  dependencies:
    - autoreconf:sid:amd64
218 219
  needs:
    - autoreconf:sid:amd64
220 221
  artifacts:
    untracked: true
222
    expire_in: "1 day"
223

224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251
.windows_build: &windows_build_job
  stage: build
  tags:
    - windows
    - amd64
  script:
    - 'Push-Location "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build"'
    - '& cmd.exe /C "vcvarsall.bat x64 & set" | Foreach-Object { if ($_ -match "(.*?)=(.*)") { Set-Item -force -path "Env:\$($matches[1])" -value "$($matches[2])" } }'
    - 'Pop-Location'
    - 'Set-Location win32utils'
    - '& "C:/Strawberry/perl/bin/perl.exe" Configure
         "with-tools-version=15.0"
         "with-platform-toolset=v141"
         "with-platform-version=10.0.17763.0"
         "with-vcredist=C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Redist/MSVC/14.16.27012/vcredist_x64.exe"
         "with-openssl=C:/OpenSSL"
         "with-libxml2=C:/libxml2"
         "with-libuv=C:/libuv"
         "without-python"
         "with-system-tests"
         x64'
    - 'Set-Item -path "Env:CL" -value "/MP$([Math]::Truncate($BUILD_PARALLEL_JOBS/2))"'
    - '& msbuild.exe /maxCpuCount:2 /t:Build /p:Configuration=$VSCONF bind9.sln'
  dependencies: []
  needs:
    - autoreconf:sid:amd64
  artifacts:
    untracked: true
252
    expire_in: "1 day"
253

254 255
.setup_interfaces: &setup_interfaces |
    if [ "$(id -u)" -eq "0" ]; then
256
      sh -x bin/tests/system/ifconfig.sh up;
257
    else
258
      sudo sh -x bin/tests/system/ifconfig.sh up;
259 260 261
    fi

.setup_softhsm: &setup_softhsm |
262
    sh -x bin/tests/prepare-softhsm2.sh
263

264
.system_test: &system_test_job
265
  <<: *default_triggering_rules
266
  stage: system
267
  before_script:
268 269
    - *setup_interfaces
    - *setup_softhsm
270
  script:
271
    - ( cd bin/tests/system && make -j${TEST_PARALLEL_JOBS:-1} -k test V=1 )
272
    - test -s bin/tests/system/systests.output
273 274
  artifacts:
    untracked: true
275
    expire_in: "1 day"
276 277
    when: on_failure

278
.kyua_report: &kyua_report_html |
279
  kyua --logfile /dev/null report-html \
280 281 282 283 284
       --force \
       --results-file "$KYUA_RESULT" \
       --results-filter "" \
       --output kyua_html

285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301
.windows_system_test: &windows_system_test_job
  stage: system
  tags:
    - windows
    - amd64
  script:
    - 'Push-Location bin/tests/system'
    - '$ifIndex = Get-NetIPInterface -AddressFamily IPv4 -InterfaceMetric 75 | Select-Object -ExpandProperty ifIndex'
    - '& C:/tools/cygwin/bin/sed.exe -i "s/^exit.*/netsh interface ipv4 set dnsservers $ifIndex dhcp/; s/\(name\|interface\)=Loopback/$ifIndex/;" ifconfig.bat'
    - '& C:/tools/cygwin/bin/sed.exe -i "s/kill -f/kill -W/;" conf.sh stop.pl'
    - '& cmd.exe /C ifconfig.bat up; ""'
    - 'Start-Sleep 2'
    - '$Env:Path = "C:/tools/cygwin/bin;$Env:Path"'
    - '& sh.exe runall.sh $TEST_PARALLEL_JOBS'
    - 'If (Test-Path C:/CrashDumps/*) { dir C:/CrashDumps; Throw }'
  artifacts:
    untracked: true
302
    expire_in: "1 day"
303 304 305 306 307 308
    when: on_failure
  only:
    - schedules
    - tags
    - web

309
.unit_test: &unit_test_job
310
  <<: *default_triggering_rules
311
  stage: unit
312
  before_script:
313
    - *setup_softhsm
314
  script:
315
    - make unit
316
  after_script:
317
    - *kyua_report_html
318
  artifacts:
319
    paths:
320 321 322
      - kyua.log
      - kyua.results
      - kyua_html/
323
    expire_in: "1 day"
324
    when: on_failure
325

Ondřej Surý's avatar
Ondřej Surý committed
326 327 328 329 330 331 332 333 334 335 336
.cppcheck_args: &run_cppcheck |
  cppcheck --enable=warning,performance,portability,information,missingInclude \
           --include=config.h \
           --quiet \
           --std=c11 \
           --language=c \
           --project=compile_commands.json \
           --error-exitcode=2 \
           -j ${TEST_PARALLEL_JOBS:-1} \
           --xml \
           --output-file=cppcheck.results \
337 338 339
           --relative-paths="$CI_PROJECT_DIR" \
           --inline-suppr \
           --suppressions-list=util/suppressions.txt
Ondřej Surý's avatar
Ondřej Surý committed
340 341 342 343 344 345 346 347 348

.cppcheck_report: &cppcheck_report_html |
  cppcheck-htmlreport --title="BIND 9 ($CI_COMMIT_SHORT_SHA) Cppcheck Report" \
                      --file=cppcheck.results \
                      --report-dir=cppcheck_html/

.cppcheck: &cppcheck_job
  <<: *default_triggering_rules
  stage: postcheck
349 350 351
  before_script:
    - export GCC_VERSION=$(gcc --version | sed -n 's/.*\([0-9]\+\)\.[0-9]\+\.[0-9]\+.*/\1/p')
    - sed -i "/gcc\",/a\"-DCPPCHECK\", \"-D__STDC__\", \"-D__GNUC__=${GCC_VERSION}\"," compile_commands.json
Ondřej Surý's avatar
Ondřej Surý committed
352 353 354 355 356 357 358 359 360
  script:
    - *run_cppcheck
  after_script:
    - *cppcheck_report_html
  artifacts:
    paths:
      - compile_commands.json
      - cppcheck.results
      - cppcheck_html/
361
    expire_in: "1 day"
Ondřej Surý's avatar
Ondřej Surý committed
362 363
    when: on_failure

Michał Kępień's avatar
Michał Kępień committed
364 365 366 367
### Job Definitions

# Jobs in the precheck stage

368 369 370
autoreconf:sid:amd64:
  <<: *autoconf_job

371
misc:sid:amd64:
372
  <<: *precheck_job
373
  script:
374
    - sh util/check-ans-prereq.sh
375
    - sh util/checklibs.sh > checklibs.out
Mark Andrews's avatar
Mark Andrews committed
376 377
    - sh util/tabify-changes < CHANGES > CHANGES.tmp
    - diff -urNap CHANGES CHANGES.tmp
378
    - perl util/check-changes CHANGES
379 380 381 382
    - test ! -f CHANGES.SE || sh util/tabify-changes < CHANGES.SE > CHANGES.tmp
    - test ! -f CHANGES.SE || diff -urNap CHANGES.SE CHANGES.tmp
    - test ! -f CHANGES.SE || perl util/check-changes master=0 CHANGES.SE
    - rm CHANGES.tmp
383 384 385
    - perl -w util/merge_copyrights
    - diff -urNap util/copyrights util/newcopyrights
    - rm util/newcopyrights
386 387
    - perl -w util/update_copyrights < util/copyrights
    - if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
388 389
    - xmllint --noout --nonet `git ls-files '*.xml' '*.docbook'`
    - xmllint --noout --nonet --html `git ls-files '*.html'`
390
    - sh util/check-win32util-configure
391 392
  artifacts:
    paths:
393 394
      - util/newcopyrights
      - checklibs.out
395
    expire_in: "1 day"
396 397
    when: on_failure

398 399 400
💾:sid:amd64:
  <<: *precheck_job
  script:
401
    - if [ -r .clang-format ]; then "${CLANG_FORMAT}" -i -style=file $(git ls-files '*.c' '*.h'); fi
402 403
    - if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi

404
🐞:sid:amd64:
405
  <<: *precheck_job
406
  <<: *debian_buster_amd64_image
407 408 409
  script:
    - util/check-cocci
    - if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
410

411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427
tarball-create:sid:amd64:
  <<: *debian_sid_amd64_image
  stage: precheck
  script:
    - source version
    - export BIND_DIRECTORY="bind-${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}"
    - git archive --prefix="${BIND_DIRECTORY}/" --output="${BIND_DIRECTORY}.tar" HEAD
    - mkdir "${BIND_DIRECTORY}"
    - echo "SRCID=$(git rev-list --max-count=1 HEAD | cut -b1-7)" > "${BIND_DIRECTORY}/srcid"
    - tar --append --file="${BIND_DIRECTORY}.tar" "${BIND_DIRECTORY}/srcid"
    - ${TARBALL_COMPRESSOR} "${BIND_DIRECTORY}.tar"
  artifacts:
    paths:
      - bind-*.tar.${TARBALL_EXTENSION}
  only:
    - tags

Michał Kępień's avatar
Michał Kępień committed
428 429
# Jobs for doc builds on Debian Sid (amd64)

430
docs:sid:amd64:
431
  <<: *release_branch_triggering_rules
432
  <<: *debian_sid_amd64_image
433
  stage: docs
434
  script:
435
    - ./configure || cat config.log
436 437
    - make -C doc/misc docbook
    - make -C doc/arm Bv9ARM.html
438 439
  dependencies:
    - autoreconf:sid:amd64
440 441
  needs:
    - autoreconf:sid:amd64
442 443
  artifacts:
    paths:
444
      - doc/arm/
445
    expire_in: "1 month"
446

447
push:docs:sid:amd64:
448 449 450 451 452 453
  <<: *debian_sid_amd64_image
  stage: push
  dependencies: []
  script:
    - curl -X POST -F token=$GITLAB_PAGES_DOCS_TRIGGER_TOKEN -F ref=master $GITLAB_PAGES_DOCS_TRIGGER_URL
  only:
454 455
    - master@isc-projects/bind9
    - /^v9_[1-9][0-9]$/@isc-projects/bind9
456

457
# Jobs for regular GCC builds on Alpine Linux 3.11 (amd64)
458

459
gcc:alpine3.11:amd64:
460 461
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
462
    CFLAGS: "${CFLAGS_COMMON}"
463
    EXTRA_CONFIGURE: "--enable-dnstap"
464
  <<: *alpine_3_11_amd64_image
465 466
  <<: *build_job

467 468
system:gcc:alpine3.11:amd64:
  <<: *alpine_3_11_amd64_image
469 470
  <<: *system_test_job
  dependencies:
471 472
    - gcc:alpine3.11:amd64
  needs: ["gcc:alpine3.11:amd64"]
473

474 475
unit:gcc:alpine3.11:amd64:
  <<: *alpine_3_11_amd64_image
476 477
  <<: *unit_test_job
  dependencies:
478 479
    - gcc:alpine3.11:amd64
  needs: ["gcc:alpine3.11:amd64"]
480

Michał Kępień's avatar
Michał Kępień committed
481 482
# Jobs for regular GCC builds on CentOS 6 (amd64)

483
gcc:centos6:amd64:
Michał Kępień's avatar
Michał Kępień committed
484 485
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
486
    CFLAGS: "${CFLAGS_COMMON}"
Ondřej Surý's avatar
Ondřej Surý committed
487
    EXTRA_CONFIGURE: "--with-libidn2 --disable-warn-error"
Michał Kępień's avatar
Michał Kępień committed
488 489 490
  <<: *centos_centos6_amd64_image
  <<: *build_job

Michał Kępień's avatar
Michał Kępień committed
491 492 493 494 495
system:gcc:centos6:amd64:
  <<: *centos_centos6_amd64_image
  <<: *system_test_job
  dependencies:
    - gcc:centos6:amd64
496
  needs: ["gcc:centos6:amd64"]
Michał Kępień's avatar
Michał Kępień committed
497 498 499 500 501 502

unit:gcc:centos6:amd64:
  <<: *centos_centos6_amd64_image
  <<: *unit_test_job
  dependencies:
    - gcc:centos6:amd64
503
  needs: ["gcc:centos6:amd64"]
Michał Kępień's avatar
Michał Kępień committed
504

Michał Kępień's avatar
Michał Kępień committed
505 506
# Jobs for regular GCC builds on CentOS 7 (amd64)

507
gcc:centos7:amd64:
Michał Kępień's avatar
Michał Kępień committed
508 509
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
510
    CFLAGS: "${CFLAGS_COMMON}"
Michał Kępień's avatar
Michał Kępień committed
511
    EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2"
Michał Kępień's avatar
Michał Kępień committed
512 513 514
  <<: *centos_centos7_amd64_image
  <<: *build_job

Michał Kępień's avatar
Michał Kępień committed
515 516 517 518 519
system:gcc:centos7:amd64:
  <<: *centos_centos7_amd64_image
  <<: *system_test_job
  dependencies:
    - gcc:centos7:amd64
520
  needs: ["gcc:centos7:amd64"]
Michał Kępień's avatar
Michał Kępień committed
521 522 523 524 525 526

unit:gcc:centos7:amd64:
  <<: *centos_centos7_amd64_image
  <<: *unit_test_job
  dependencies:
    - gcc:centos7:amd64
527
  needs: ["gcc:centos7:amd64"]
528

Michał Kępień's avatar
Michał Kępień committed
529 530 531 532 533
# Jobs for regular GCC builds on CentOS 8 (amd64)

gcc:centos8:amd64:
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
534
    CFLAGS: "${CFLAGS_COMMON}"
Michał Kępień's avatar
Michał Kępień committed
535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552
    EXTRA_CONFIGURE: "--with-libidn2"
  <<: *centos_centos8_amd64_image
  <<: *build_job

system:gcc:centos8:amd64:
  <<: *centos_centos8_amd64_image
  <<: *system_test_job
  dependencies:
    - gcc:centos8:amd64
  needs: ["gcc:centos8:amd64"]

unit:gcc:centos8:amd64:
  <<: *centos_centos8_amd64_image
  <<: *unit_test_job
  dependencies:
    - gcc:centos8:amd64
  needs: ["gcc:centos8:amd64"]

Michał Kępień's avatar
Michał Kępień committed
553 554
# Jobs for regular GCC builds on Debian 8 Jessie (amd64)

555
gcc:jessie:amd64:
556 557
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
558
    CFLAGS: "${CFLAGS_COMMON} -O2"
559
    EXTRA_CONFIGURE: "--without-cmocka --with-python --disable-geoip"
560 561 562
  <<: *debian_jessie_amd64_image
  <<: *build_job

Michał Kępień's avatar
Michał Kępień committed
563 564 565 566 567
system:gcc:jessie:amd64:
  <<: *debian_jessie_amd64_image
  <<: *system_test_job
  dependencies:
    - gcc:jessie:amd64
568
  needs: ["gcc:jessie:amd64"]
Michał Kępień's avatar
Michał Kępień committed
569 570 571 572 573 574

unit:gcc:jessie:amd64:
  <<: *debian_jessie_amd64_image
  <<: *unit_test_job
  dependencies:
    - gcc:jessie:amd64
575
  needs: ["gcc:jessie:amd64"]
Michał Kępień's avatar
Michał Kępień committed
576

Michał Kępień's avatar
Michał Kępień committed
577 578
# Jobs for regular GCC builds on Debian 9 Stretch (amd64)

579
gcc:stretch:amd64:
580 581
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
582
    CFLAGS: "${CFLAGS_COMMON} -O2"
583 584 585
  <<: *debian_stretch_amd64_image
  <<: *build_job

Michał Kępień's avatar
Michał Kępień committed
586 587 588 589 590
system:gcc:stretch:amd64:
  <<: *debian_stretch_amd64_image
  <<: *system_test_job
  dependencies:
    - gcc:stretch:amd64
591
  needs: ["gcc:stretch:amd64"]
Michał Kępień's avatar
Michał Kępień committed
592 593 594 595 596 597

unit:gcc:stretch:amd64:
  <<: *debian_stretch_amd64_image
  <<: *unit_test_job
  dependencies:
    - gcc:stretch:amd64
598
  needs: ["gcc:stretch:amd64"]
Michał Kępień's avatar
Michał Kępień committed
599

Michał Kępień's avatar
Michał Kępień committed
600 601 602 603 604
# Jobs for regular GCC builds on Debian 10 Buster (amd64)

gcc:buster:amd64:
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
605
    CFLAGS: "${CFLAGS_COMMON}"
Michał Kępień's avatar
Michał Kępień committed
606 607 608 609 610 611 612 613
  <<: *debian_buster_amd64_image
  <<: *build_job

system:gcc:buster:amd64:
  <<: *debian_buster_amd64_image
  <<: *system_test_job
  dependencies:
    - gcc:buster:amd64
614
  needs: ["gcc:buster:amd64"]
Michał Kępień's avatar
Michał Kępień committed
615 616 617 618 619 620

unit:gcc:buster:amd64:
  <<: *debian_buster_amd64_image
  <<: *unit_test_job
  dependencies:
    - gcc:buster:amd64
621
  needs: ["gcc:buster:amd64"]
Michał Kępień's avatar
Michał Kępień committed
622

623 624 625 626 627 628 629 630 631 632 633 634 635 636 637
# Jobs for scan-build builds on Debian Buster (amd64)

.scan_build: &scan_build |
  ${SCAN_BUILD} --html-title="BIND 9 ($CI_COMMIT_SHORT_SHA)" \
                --keep-cc \
                --status-bugs \
                --keep-going \
                -o scan-build.reports \
                make -j${BUILD_PARALLEL_JOBS:-1} all V=1

scan-build:buster:amd64:
  <<: *default_triggering_rules
  <<: *debian_buster_amd64_image
  stage: postcheck
  variables:
638
    CC: "${CLANG}"
Ondřej Surý's avatar
Ondřej Surý committed
639
    CFLAGS: "${CFLAGS_COMMON}"
640 641 642 643 644 645 646 647 648 649 650 651
    CONFIGURE: "${SCAN_BUILD} ./configure"
    EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2"
  script:
    - *configure
    - *scan_build
  dependencies:
    - autoreconf:sid:amd64
  needs:
    - autoreconf:sid:amd64
  artifacts:
    paths:
      - scan-build.reports/
652
    expire_in: "1 day"
653 654
    when: on_failure

Michał Kępień's avatar
Michał Kępień committed
655 656
# Jobs for regular GCC builds on Debian Sid (amd64)

657
gcc:sid:amd64:
658 659
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
660
    CFLAGS: "${CFLAGS_COMMON} -O3"
Michał Kępień's avatar
Michał Kępień committed
661
    EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2"
662
    RUN_MAKE_INSTALL: 1
Ondřej Surý's avatar
Ondřej Surý committed
663
    MAKE: bear make
664
  <<: *debian_sid_amd64_image
665
  <<: *build_job
666

Michał Kępień's avatar
Michał Kępień committed
667 668 669
system:gcc:sid:amd64:
  <<: *debian_sid_amd64_image
  <<: *system_test_job
670
  dependencies:
Michał Kępień's avatar
Michał Kępień committed
671
    - gcc:sid:amd64
672
  needs: ["gcc:sid:amd64"]
673

674
unit:gcc:sid:amd64:
675 676 677
  <<: *debian_sid_amd64_image
  <<: *unit_test_job
  dependencies:
678
    - gcc:sid:amd64
679
  needs: ["gcc:sid:amd64"]
680

Ondřej Surý's avatar
Ondřej Surý committed
681 682 683 684 685 686 687
cppcheck:gcc:sid:amd64:
  <<: *debian_sid_amd64_image
  <<: *cppcheck_job
  dependencies:
    - gcc:sid:amd64
  needs: ["gcc:sid:amd64"]

688 689 690 691 692 693 694 695 696 697 698 699 700
# Job for out-of-tree GCC build on Debian Sid (amd64)

oot:sid:amd64:
  variables:
    CC: gcc
    CFLAGS: "${CFLAGS_COMMON} -O3"
    CONFIGURE: ../configure
    EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2"
    RUN_MAKE_INSTALL: 1
    OOT_BUILD_WORKSPACE: workspace
  <<: *debian_sid_amd64_image
  <<: *build_job

701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742
# Jobs for tarball GCC builds on Debian Sid (amd64)

tarball:sid:amd64:
  variables:
    CC: gcc
    EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2"
    RUN_MAKE_INSTALL: 1
  <<: *debian_sid_amd64_image
  <<: *build_job
  before_script:
    - tar --extract --file bind-*.tar.${TARBALL_EXTENSION}
    - rm -f bind-*.tar.${TARBALL_EXTENSION}
    - cd bind-*
  dependencies:
    - tarball-create:sid:amd64
  needs: ["tarball-create:sid:amd64"]
  only:
    - tags

system:tarball:sid:amd64:
  <<: *debian_sid_amd64_image
  <<: *system_test_job
  before_script:
    - cd bind-*
    - *setup_interfaces
  dependencies:
    - tarball:sid:amd64
  needs: ["tarball:sid:amd64"]
  only:
    - tags

unit:tarball:sid:amd64:
  <<: *debian_sid_amd64_image
  <<: *unit_test_job
  before_script:
    - cd bind-*
  dependencies:
    - tarball:sid:amd64
  needs: ["tarball:sid:amd64"]
  only:
    - tags

Ondřej Surý's avatar
Ondřej Surý committed
743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775
# Jobs for regular GCC builds on Debian Sid (arm64)

gcc:sid:arm64:
  variables:
    CC: gcc
    CFLAGS: "${CFLAGS_COMMON} -O3"
    EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2"
    RUN_MAKE_INSTALL: 1
    MAKE: bear make
  <<: *debian_sid_arm64_image
  <<: *build_job

system:gcc:sid:arm64:
  <<: *debian_sid_arm64_image
  <<: *system_test_job
  dependencies:
    - gcc:sid:arm64
  needs: ["gcc:sid:arm64"]

unit:gcc:sid:arm64:
  <<: *debian_sid_arm64_image
  <<: *unit_test_job
  dependencies:
    - gcc:sid:arm64
  needs: ["gcc:sid:arm64"]

cppcheck:gcc:sid:arm64:
  <<: *debian_sid_arm64_image
  <<: *cppcheck_job
  dependencies:
    - gcc:sid:arm64
  needs: ["gcc:sid:arm64"]

Michał Kępień's avatar
Michał Kępień committed
776 777
# Jobs for regular GCC builds on Debian Sid (i386)

Michał Kępień's avatar
Michał Kępień committed
778 779 780
gcc:sid:i386:
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
781
    CFLAGS: "${CFLAGS_COMMON}"
Michał Kępień's avatar
Michał Kępień committed
782
    EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2 --without-python"
Michał Kępień's avatar
Michał Kępień committed
783 784
  <<: *debian_sid_i386_image
  <<: *build_job
785

Michał Kępień's avatar
Michał Kępień committed
786 787 788
system:gcc:sid:i386:
  <<: *debian_sid_i386_image
  <<: *system_test_job
789
  dependencies:
Michał Kępień's avatar
Michał Kępień committed
790
    - gcc:sid:i386
791
  needs: ["gcc:sid:i386"]
792

793
unit:gcc:sid:i386:
794 795 796
  <<: *debian_sid_i386_image
  <<: *unit_test_job
  dependencies:
797
    - gcc:sid:i386
798
  needs: ["gcc:sid:i386"]
799

800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823
# Jobs for regular GCC builds on openSUSE Tumbleweed (amd64)

gcc:tumbleweed:amd64:
  variables:
    CC: gcc
    CFLAGS: "${CFLAGS_COMMON}"
    EXTRA_CONFIGURE: "--with-libidn2"
  <<: *tumbleweed_latest_amd64_image
  <<: *build_job

system:gcc:tumbleweed:amd64:
  <<: *tumbleweed_latest_amd64_image
  <<: *system_test_job
  dependencies:
    - gcc:tumbleweed:amd64
  needs: ["gcc:tumbleweed:amd64"]

unit:gcc:tumbleweed:amd64:
  <<: *tumbleweed_latest_amd64_image
  <<: *unit_test_job
  dependencies:
    - gcc:tumbleweed:amd64
  needs: ["gcc:tumbleweed:amd64"]

Michal Nowak's avatar
Michal Nowak committed
824
# Jobs for regular GCC builds on Fedora 31 (amd64)
Michał Kępień's avatar
Michał Kępień committed
825

Michal Nowak's avatar
Michal Nowak committed
826
gcc:fedora31:amd64:
Michał Kępień's avatar
Michał Kępień committed
827 828
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
829
    CFLAGS: "${CFLAGS_COMMON} -O1"
Michał Kępień's avatar
Michał Kępień committed
830
    EXTRA_CONFIGURE: "--with-libidn2"
Michal Nowak's avatar
Michal Nowak committed
831
  <<: *fedora_31_amd64_image
Michał Kępień's avatar
Michał Kępień committed
832 833
  <<: *build_job

Michal Nowak's avatar
Michal Nowak committed
834 835
system:gcc:fedora31:amd64:
  <<: *fedora_31_amd64_image
Michał Kępień's avatar
Michał Kępień committed
836 837
  <<: *system_test_job
  dependencies:
Michal Nowak's avatar
Michal Nowak committed
838 839
    - gcc:fedora31:amd64
  needs: ["gcc:fedora31:amd64"]
Michał Kępień's avatar
Michał Kępień committed
840

Michal Nowak's avatar
Michal Nowak committed
841 842
unit:gcc:fedora31:amd64:
  <<: *fedora_31_amd64_image
Michał Kępień's avatar
Michał Kępień committed
843 844
  <<: *unit_test_job
  dependencies:
Michal Nowak's avatar
Michal Nowak committed
845 846
    - gcc:fedora31:amd64
  needs: ["gcc:fedora31:amd64"]
Michał Kępień's avatar
Michał Kępień committed
847

Michał Kępień's avatar
Michał Kępień committed
848 849
# Jobs for regular GCC builds on Ubuntu 16.04 Xenial Xerus (amd64)

Michał Kępień's avatar
Michał Kępień committed
850 851 852
gcc:xenial:amd64:
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
853
    CFLAGS: "${CFLAGS_COMMON} -O2"
854
    EXTRA_CONFIGURE: "--disable-geoip"
Michał Kępień's avatar
Michał Kępień committed
855 856 857 858 859
  <<: *ubuntu_xenial_amd64_image
  <<: *build_job

system:gcc:xenial:amd64:
  <<: *ubuntu_xenial_amd64_image
Michał Kępień's avatar
Michał Kępień committed
860 861
  <<: *system_test_job
  dependencies:
Michał Kępień's avatar
Michał Kępień committed
862
    - gcc:xenial:amd64
863
  needs: ["gcc:xenial:amd64"]
Michał Kępień's avatar
Michał Kępień committed
864

Michał Kępień's avatar
Michał Kępień committed
865 866 867
unit:gcc:xenial:amd64:
  <<: *ubuntu_xenial_amd64_image
  <<: *unit_test_job
Michał Kępień's avatar
Michał Kępień committed
868
  dependencies:
Michał Kępień's avatar
Michał Kępień committed
869
    - gcc:xenial:amd64
870
  needs: ["gcc:xenial:amd64"]
Michał Kępień's avatar
Michał Kępień committed
871

Michał Kępień's avatar
Michał Kępień committed
872 873
# Jobs for regular GCC builds on Ubuntu 18.04 Bionic Beaver (amd64)

Michał Kępień's avatar
Michał Kępień committed
874 875 876
gcc:bionic:amd64:
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
877
    CFLAGS: "${CFLAGS_COMMON} -Og"
Michał Kępień's avatar
Michał Kępień committed
878 879 880 881 882 883
    EXTRA_CONFIGURE: "--with-libidn2"
  <<: *ubuntu_bionic_amd64_image
  <<: *build_job

system:gcc:bionic:amd64:
  <<: *ubuntu_bionic_amd64_image
884 885
  <<: *system_test_job
  dependencies:
Michał Kępień's avatar
Michał Kępień committed
886
    - gcc:bionic:amd64
887
  needs: ["gcc:bionic:amd64"]
888

Michał Kępień's avatar
Michał Kępień committed
889 890 891
unit:gcc:bionic:amd64:
  <<: *ubuntu_bionic_amd64_image
  <<: *unit_test_job
892
  dependencies:
Michał Kępień's avatar
Michał Kępień committed
893
    - gcc:bionic:amd64
894
  needs: ["gcc:bionic:amd64"]
895

Michał Kępień's avatar
Michał Kępień committed
896 897
# Jobs for GCC builds with ASAN enabled on Debian Sid (amd64)

Michał Kępień's avatar
Michał Kępień committed
898 899 900
asan:sid:amd64:
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
901
    CFLAGS: "${CFLAGS_COMMON} -fsanitize=address,undefined -DISC_MEM_USE_INTERNAL_MALLOC=0"
Michał Kępień's avatar
Michał Kępień committed
902 903
    LDFLAGS: "-fsanitize=address,undefined"
    EXTRA_CONFIGURE: "--with-libidn2"
904
  <<: *debian_sid_amd64_image
Michał Kępień's avatar
Michał Kępień committed
905
  <<: *build_job
906

907
system:asan:sid:amd64:
908 909
  variables:
    ASAN_OPTIONS: ${ASAN_OPTIONS_COMMON}
910 911 912
  <<: *debian_sid_amd64_image
  <<: *system_test_job
  dependencies:
913
    - asan:sid:amd64
914
  needs: ["asan:sid:amd64"]
915

Michał Kępień's avatar
Michał Kępień committed
916
unit:asan:sid:amd64:
917 918
  variables:
    ASAN_OPTIONS: ${ASAN_OPTIONS_COMMON}
Michał Kępień's avatar
Michał Kępień committed
919 920
  <<: *debian_sid_amd64_image
  <<: *unit_test_job
921
  dependencies:
Michał Kępień's avatar
Michał Kępień committed
922
    - asan:sid:amd64
923
  needs: ["asan:sid:amd64"]
924

925 926 927 928 929 930
# Jobs for GCC builds with TSAN enabled on Debian Sid (amd64)

tsan:buster:amd64:
  <<: *debian_buster_amd64_image
  <<: *build_job
  variables:
931
    CC: "${CLANG}"
932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950
    CFLAGS: "${CFLAGS_COMMON} -fsanitize=thread -DISC_MEM_USE_INTERNAL_MALLOC=0"
    LDFLAGS: "-fsanitize=thread"
    EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock"

system:tsan:buster:amd64:
  variables:
    TSAN_OPTIONS: "second_deadlock_stack=1 history_size=7 log_exe_name=true log_path=tsan external_symbolizer_path=$SYMBOLIZER exitcode=0"
  before_script:
    - *setup_interfaces
    - echo $TSAN_OPTIONS
  <<: *debian_buster_amd64_image
  <<: *system_test_job
  dependencies:
    - tsan:buster:amd64
  needs: ["tsan:buster:amd64"]
  allow_failure: true
  after_script:
    - find bin -name 'tsan.*' -exec python3 util/parse_tsan.py {} \;
  artifacts:
951
    expire_in: "1 day"
952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972
    paths:
      - bin/tests/system/*/tsan.*
      - bin/tests/system/*/*/tsan.*
      - tsan/
    when: on_failure

unit:tsan:buster:amd64:
  variables:
    TSAN_OPTIONS: "second_deadlock_stack=1 history_size=7 log_exe_name=true log_path=tsan external_symbolizer_path=$SYMBOLIZER"
  before_script:
    - echo $TSAN_OPTIONS
    - lib/isc/tests/result_test
  <<: *debian_buster_amd64_image
  <<: *unit_test_job
  dependencies:
    - tsan:buster:amd64
  needs: ["tsan:buster:amd64"]
  allow_failure: true
  after_script:
    - find lib -name 'tsan.*' -exec python3 util/parse_tsan.py {} \;
  artifacts:
973
    expire_in: "1 day"
974 975 976 977 978 979 980 981
    paths:
      - lib/*/tests/tsan.*
      - tsan/
      - kyua.log
      - kyua.results
      - kyua_html/
    when: on_failure

982 983 984
rwlock:sid:amd64:
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
985
    CFLAGS: "${CFLAGS_COMMON} -Wall -Wextra -O2 -g -DISC_MEM_USE_INTERNAL_MALLOC=0"
986 987 988 989 990 991 992 993 994
    EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock"
  <<: *debian_sid_amd64_image
  <<: *build_job

system:rwlock:sid:amd64:
  <<: *debian_sid_amd64_image
  <<: *system_test_job
  dependencies:
    - rwlock:sid:amd64
995
  needs: ["rwlock:sid:amd64"]
996 997 998 999 1000 1001

unit:rwlock:sid:amd64:
  <<: *debian_sid_amd64_image
  <<: *unit_test_job
  dependencies:
    - rwlock:sid:amd64
1002
  needs: ["rwlock:sid:amd64"]
1003

1004 1005 1006 1007
# Jobs for mutex-based atomics on Debian SID (amd64)
mutexatomics:sid:amd64:
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
1008
    CFLAGS: "${CFLAGS_COMMON} -DISC_MEM_USE_INTERNAL_MALLOC=0"
1009 1010 1011 1012
    EXTRA_CONFIGURE: "--with-libidn2 --enable-mutex-atomics"
  <<: *debian_sid_amd64_image
  <<: *build_job

1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025
system:mutexatomics:sid:amd64:
  <<: *debian_sid_amd64_image
  <<: *system_test_job
  dependencies:
    - mutexatomics:sid:amd64
  needs: ["mutexatomics:sid:amd64"]

unit:mutexatomics:sid:amd64:
  <<: *debian_sid_amd64_image
  <<: *unit_test_job
  dependencies:
    - mutexatomics:sid:amd64
  needs: ["mutexatomics:sid:amd64"]
1026

Michał Kępień's avatar
Michał Kępień committed
1027 1028
# Jobs for Clang builds on Debian Stretch (amd64)

Michał Kępień's avatar
Michał Kępień committed
1029 1030 1031
clang:stretch:amd64:
  variables:
    CC: clang
Ondřej Surý's avatar
Ondřej Surý committed
1032
    CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion"
Michał Kępień's avatar
Michał Kępień committed
1033 1034 1035 1036 1037 1038 1039
    EXTRA_CONFIGURE: "--with-python=python3"
  <<: *debian_stretch_amd64_image
  <<: *build_job

unit:clang:stretch:amd64:
  <<: *debian_stretch_amd64_image
  <<: *unit_test_job
Ondřej Surý's avatar
Ondřej Surý committed
1040
  dependencies:
Michał Kępień's avatar
Michał Kępień committed
1041
    - clang:stretch:amd64
1042
  needs: ["clang:stretch:amd64"]
Michał Kępień's avatar
Michał Kępień committed
1043

Michał Kępień's avatar
Michał Kępień committed
1044 1045
# Jobs for Clang builds on Debian Stretch (i386)

Michał Kępień's avatar
Michał Kępień committed
1046 1047 1048
clang:stretch:i386:
  variables:
    CC: clang
Ondřej Surý's avatar
Ondřej Surý committed
1049
    CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion"
Michał Kępień's avatar
Michał Kępień committed
1050 1051 1052
    EXTRA_CONFIGURE: "--with-python=python2"
  <<: *debian_stretch_i386_image
  <<: *build_job
Ondřej Surý's avatar
Ondřej Surý committed
1053

Michał Kępień's avatar
Michał Kępień committed
1054 1055
# Jobs for PKCS#11-enabled GCC builds on Debian Sid (amd64)

1056
pkcs11:sid:amd64:
1057 1058
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
1059
    CFLAGS: "${CFLAGS_COMMON}"
1060 1061 1062 1063
    EXTRA_CONFIGURE: "--enable-native-pkcs11 --with-pkcs11=/usr/lib/softhsm/libsofthsm2.so"
  <<: *debian_sid_amd64_image
  <<: *build_job

Michał Kępień's avatar
Michał Kępień committed
1064
system:pkcs11:sid:amd64:
1065
  <<: *debian_sid_amd64_image
Michał Kępień's avatar
Michał Kępień committed
1066
  <<: *system_test_job
1067
  dependencies:
1068
    - pkcs11:sid:amd64
1069
  needs: ["pkcs11:sid:amd64"]
1070

Michał Kępień's avatar
Michał Kępień committed
1071
unit:pkcs11:sid:amd64:
1072
  <<: *debian_sid_amd64_image
Michał Kępień's avatar
Michał Kępień committed
1073
  <<: *unit_test_job
1074
  dependencies:
1075
    - pkcs11:sid:amd64
1076
  needs: ["pkcs11:sid:amd64"]
Ondřej Surý's avatar
Ondřej Surý committed
1077

Michał Kępień's avatar
Michał Kępień committed
1078 1079 1080 1081
# Jobs for Clang builds on FreeBSD 11.3 (amd64)

clang:freebsd11.3:amd64:
  variables:
Ondřej Surý's avatar
Ondřej Surý committed
1082
    CFLAGS: "${CFLAGS_COMMON}"
Michał Kępień's avatar
Michał Kępień committed
1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103
  <<: *freebsd_amd64
  <<: *build_job

system:clang:freebsd11.3:amd64:
  <<: *freebsd_amd64
  <<: *system_test_job
  dependencies:
    - clang:freebsd11.3:amd64
  needs: ["clang:freebsd11.3:amd64"]

unit:clang:freebsd11.3:amd64:
  <<: *freebsd_amd64
  <<: *unit_test_job
  dependencies:
    - clang:freebsd11.3:amd64
  needs: ["clang:freebsd11.3:amd64"]

# Jobs for Clang builds on FreeBSD 12.0 (amd64)

clang:freebsd12.0:amd64:
  variables:
Ondřej Surý's avatar
Ondřej Surý committed
1104
    CFLAGS: "${CFLAGS_COMMON}"
Michał Kępień's avatar
Michał Kępień committed
1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122
    EXTRA_CONFIGURE: "--enable-dnstap"
  <<: *freebsd_amd64
  <<: *build_job

system:clang:freebsd12.0:amd64:
  <<: *freebsd_amd64
  <<: *system_test_job
  dependencies:
    - clang:freebsd12.0:amd64
  needs: ["clang:freebsd12.0:amd64"]

unit:clang:freebsd12.0:amd64:
  <<: *freebsd_amd64
  <<: *unit_test_job
  dependencies:
    - clang:freebsd12.0:amd64
  needs: ["clang:freebsd12.0:amd64"]

1123
# Jobs for Clang builds on OpenBSD 6.6 (amd64)
Michał Kępień's avatar
Michał Kępień committed
1124

1125
clang:openbsd6.6:amd64:
Michał Kępień's avatar
Michał Kępień committed
1126 1127
  variables:
    CC: clang
1128
    USER: gitlab-runner
Michał Kępień's avatar
Michał Kępień committed
1129 1130 1131
  <<: *openbsd_amd64
  <<: *build_job

1132
system:clang:openbsd6.6:amd64:
Michał Kępień's avatar
Michał Kępień committed
1133 1134
  <<: *openbsd_amd64
  <<: *system_test_job
1135 1136
  variables:
    USER: gitlab-runner
Michał Kępień's avatar
Michał Kępień committed
1137
  dependencies:
1138 1139
    - clang:openbsd6.6:amd64
  needs: ["clang:openbsd6.6:amd64"]
1140
  only:
1141
    - schedules
1142 1143
    - tags
    - web
Michał Kępień's avatar
Michał Kępień committed
1144

Ondřej Surý's avatar
Ondřej Surý committed
1145 1146 1147 1148 1149
# Jobs with libtool disabled

nolibtool:sid:amd64:
  variables:
    CC: gcc
Ondřej Surý's avatar
Ondřej Surý committed
1150
    CFLAGS: "${CFLAGS_COMMON}"
Ondřej Surý's avatar
Ondřej Surý committed
1151 1152 1153 1154 1155 1156 1157 1158 1159
    EXTRA_CONFIGURE: "--with-libidn2 --without-libtool --with-dlopen"
  <<: *debian_sid_amd64_image
  <<: *build_job

system:nolibtool:sid:amd64:
  <<: *debian_sid_amd64_image
  <<: *system_test_job
  dependencies:
    - nolibtool:sid:amd64
1160
  needs: ["nolibtool:sid:amd64"]
Ondřej Surý's avatar
Ondřej Surý committed
1161 1162 1163 1164 1165 1166

unit:nolibtool:sid:amd64:
  <<: *debian_sid_amd64_image
  <<: *unit_test_job
  dependencies:
    - nolibtool:sid:amd64
1167
  needs: ["nolibtool:sid:amd64"]
Michał Kępień's avatar
Michał Kępień committed
1168 1169 1170 1171

# Jobs for Visual Studio 2017 builds on Windows (amd64)

msvc:windows:amd64:
1172
  <<: *windows_build_job
Michał Kępień's avatar
Michał Kępień committed
1173 1174 1175 1176 1177
  <<: *default_triggering_rules
  variables:
    VSCONF: Release

system:msvc:windows:amd64: