# cross-testrun files as there is no need to use that feature in CI.
PYTEST_ADDOPTS: "-p no:cacheprovider"
- # Default platforms to run "stress" tests on
- BIND_STRESS_TEST_OS: linux
- BIND_STRESS_TEST_ARCH: amd64
-
default:
# Allow all running CI jobs to be automatically canceled when a new
# version of a branch is pushed.
# Autoscaling GitLab Runner on AWS EC2 (FreeBSD)
-.freebsd-stress-amd64: &freebsd_stress_amd64
- tags:
- - bsd-stress-test
- - aws
- - autoscaler
- - shell
- - stress-test
- - amd64
-
### Docker Image Templates
# Alpine Linux
script:
- bash respdiff.sh -s third_party -q "${PWD}/100k_mixed.txt" -c 1 -w "${PWD}/rspworkdir" "${CI_PROJECT_DIR}"
-# "Stress" tests
-
-.stress-test: &stress_test
- stage: performance
- script:
- - *configure
- - *setup_interfaces
- - *setup_softhsm
- - make -j${BUILD_PARALLEL_JOBS:-1} -k all V=1
- - make DESTDIR="${INSTALL_PATH}" install
- - git clone --depth 1 https://gitlab.isc.org/isc-projects/bind9-qa.git
- - cd bind9-qa/stress
- - LD_LIBRARY_PATH="${INSTALL_PATH}/usr/local/lib" BIND_INSTALL_PATH="${INSTALL_PATH}/usr/local" WORKSPACE="${CI_PROJECT_DIR}" bash stress.sh
- needs: []
-
-.stress-test-long: &stress_test_long_job
- <<: *stress_test
- artifacts:
- untracked: true
- exclude:
- - "output/ns4/*.dtq*"
- - "output/ns4/large-delta-rpz*.local"
- - "output/rpz_*"
- expire_in: "1 week"
- when: always
- timeout: 2h
-
-.stress-test-short: &stress_test_short_job
- <<: *stress_test
- only:
- - merge_requests
- artifacts:
- untracked: true
- exclude:
- - "output/ns4/*.dtq*"
- - "output/ns4/large-delta-rpz*.local"
- - "output/rpz_*"
- when: always
-
-stress:short:authoritative:fedora:40:amd64:
- <<: *fedora_40_amd64_image
- <<: *linux_amd64
- <<: *stress_test_short_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: authoritative
- RATE: 10000
- RUN_TIME: 15
-
-stress:short:recursive:fedora:40:amd64:
- <<: *fedora_40_amd64_image
- <<: *linux_amd64
- <<: *stress_test_short_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: recursive
- RATE: 10000
- RUN_TIME: 15
-
-stress:short:rpz:fedora:40:amd64:
- <<: *fedora_40_amd64_image
- <<: *linux_amd64
- <<: *stress_test_short_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: rpz
- RATE: 1500
- RUN_TIME: 15
-
-stress:short:authoritative:fedora:40:arm64:
- <<: *fedora_40_arm64_image
- <<: *linux_arm64
- <<: *stress_test_short_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: authoritative
- RATE: 10000
- RUN_TIME: 15
-
-stress:short:recursive:fedora:40:arm64:
- <<: *fedora_40_arm64_image
- <<: *linux_arm64
- <<: *stress_test_short_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: recursive
- RATE: 10000
- RUN_TIME: 15
-
-stress:short:rpz:fedora:40:arm64:
- <<: *fedora_40_arm64_image
- <<: *linux_arm64
- <<: *stress_test_short_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: rpz
- RATE: 1500
- RUN_TIME: 15
-
-stress:short:authoritative:freebsd13:amd64:
- <<: *freebsd_stress_amd64
- <<: *stress_test_short_job
- variables:
- CC: clang
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/local/bin/flame
- MODE: authoritative
- RATE: 10000
- RUN_TIME: 15
-
-stress:short:recursive:freebsd13:amd64:
- <<: *freebsd_stress_amd64
- <<: *stress_test_short_job
- variables:
- CC: clang
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/local/bin/flame
- MODE: recursive
- RATE: 10000
- RUN_TIME: 15
-
-stress:short:rpz:freebsd13:amd64:
- <<: *freebsd_stress_amd64
- <<: *stress_test_short_job
- variables:
- CC: clang
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/local/bin/flame
- MODE: rpz
- RATE: 1500
- RUN_TIME: 15
-
-stress:authoritative:fedora:40:amd64:
- <<: *fedora_40_amd64_image
- <<: *linux_amd64
- <<: *stress_test_long_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: authoritative
- RATE: 10000
- RUN_TIME: 60
- only:
- variables:
- - $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /linux/i && $BIND_STRESS_TEST_MODE =~ /authoritative/i && $BIND_STRESS_TEST_ARCH =~ /amd64/i)
-
-stress:recursive:fedora:40:amd64:
- <<: *fedora_40_amd64_image
- <<: *linux_amd64
- <<: *stress_test_long_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: recursive
- RATE: 10000
- RUN_TIME: 60
- only:
- variables:
- - $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /linux/i && $BIND_STRESS_TEST_MODE =~ /recursive/i && $BIND_STRESS_TEST_ARCH =~ /amd64/i)
-
-stress:rpz:fedora:40:amd64:
- <<: *fedora_40_amd64_image
- <<: *linux_amd64
- <<: *stress_test_long_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: rpz
- RATE: 1500
- RUN_TIME: 60
- only:
- variables:
- - $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /linux/i && $BIND_STRESS_TEST_MODE =~ /rpz/i && $BIND_STRESS_TEST_ARCH =~ /amd64/i)
-
-stress:authoritative:fedora:40:arm64:
- <<: *fedora_40_arm64_image
- <<: *linux_arm64
- <<: *stress_test_long_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: authoritative
- RATE: 10000
- RUN_TIME: 60
- only:
- variables:
- - $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /linux/i && $BIND_STRESS_TEST_MODE =~ /authoritative/i && $BIND_STRESS_TEST_ARCH =~ /arm64/i)
-
-stress:recursive:fedora:40:arm64:
- <<: *fedora_40_arm64_image
- <<: *linux_arm64
- <<: *stress_test_long_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: recursive
- RATE: 10000
- RUN_TIME: 60
- only:
- variables:
- - $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /linux/i && $BIND_STRESS_TEST_MODE =~ /recursive/i && $BIND_STRESS_TEST_ARCH =~ /arm64/i)
-
-stress:rpz:fedora:40:arm64:
- <<: *fedora_40_arm64_image
- <<: *linux_arm64
- <<: *stress_test_long_job
- variables:
- CC: gcc
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/bin/flame
- MODE: rpz
- RATE: 1500
- RUN_TIME: 60
- only:
- variables:
- - $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /linux/i && $BIND_STRESS_TEST_MODE =~ /rpz/i && $BIND_STRESS_TEST_ARCH =~ /arm64/i)
-
-stress:authoritative:freebsd13:amd64:
- <<: *freebsd_stress_amd64
- <<: *stress_test_long_job
- variables:
- CC: clang
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/local/bin/flame
- MODE: authoritative
- RATE: 10000
- RUN_TIME: 60
- only:
- variables:
- - $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /freebsd/i && $BIND_STRESS_TEST_MODE =~ /authoritative/i && $BIND_STRESS_TEST_ARCH =~ /amd64/i)
-
-stress:recursive:freebsd13:amd64:
- <<: *freebsd_stress_amd64
- <<: *stress_test_long_job
- variables:
- CC: clang
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/local/bin/flame
- MODE: recursive
- RATE: 10000
- RUN_TIME: 60
- only:
- variables:
- - $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /freebsd/i && $BIND_STRESS_TEST_MODE =~ /recursive/i && $BIND_STRESS_TEST_ARCH =~ /amd64/i)
-
-stress:rpz:freebsd13:amd64:
- <<: *freebsd_stress_amd64
- <<: *stress_test_long_job
- variables:
- CC: clang
- CFLAGS: "${CFLAGS_COMMON} -Og"
- FLAME: /usr/local/bin/flame
- MODE: rpz
- RATE: 1500
- RUN_TIME: 60
- only:
- variables:
- - $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /freebsd/i && $BIND_STRESS_TEST_MODE =~ /rpz/i && $BIND_STRESS_TEST_ARCH =~ /amd64/i)
-
gcov:
<<: *base_image
<<: *default_triggering_rules