diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 43feefd4ae..55442f0cac 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1578,16 +1578,12 @@ shotgun:dot: when: delayed start_in: 5 minutes -# Parallel build in the "make" step is avoided since multiple jobs can be -# executed concurrently on the same runner. This may present problems when one -# job runs a performance-sensitive task of replying to queries while another -# takes all cores to build BIND. -.stress: &stress_job +.stress-test: &stress_test stage: performance script: - *configure - *setup_interfaces - - make -k all V=1 + - 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 @@ -1595,6 +1591,119 @@ shotgun:dot: needs: - job: autoreconf artifacts: true + +.stress-test-short: &stress_test_short_job + <<: *stress_test + only: + - merge_requests + +stress:short:authoritative:fedora:39:amd64: + <<: *fedora_39_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:39:amd64: + <<: *fedora_39_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:39:amd64: + <<: *fedora_39_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:39:arm64: + <<: *fedora_39_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:39:arm64: + <<: *fedora_39_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:39:arm64: + <<: *fedora_39_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-test-long: &stress_test_long_job + <<: *stress_test artifacts: untracked: true expire_in: "1 week" @@ -1604,14 +1713,14 @@ shotgun:dot: stress:authoritative:fedora:39:amd64: <<: *fedora_39_amd64_image <<: *linux_amd64 - <<: *stress_job + <<: *stress_test_long_job variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og" FLAME: /usr/bin/flame MODE: authoritative RATE: 10000 - RUN_TIME: 1 + 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) @@ -1619,14 +1728,14 @@ stress:authoritative:fedora:39:amd64: stress:recursive:fedora:39:amd64: <<: *fedora_39_amd64_image <<: *linux_amd64 - <<: *stress_job + <<: *stress_test_long_job variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og" FLAME: /usr/bin/flame MODE: recursive RATE: 10000 - RUN_TIME: 1 + 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) @@ -1634,14 +1743,14 @@ stress:recursive:fedora:39:amd64: stress:rpz:fedora:39:amd64: <<: *fedora_39_amd64_image <<: *linux_amd64 - <<: *stress_job + <<: *stress_test_long_job variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og" FLAME: /usr/bin/flame MODE: rpz RATE: 1500 - RUN_TIME: 1 + 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) @@ -1649,14 +1758,14 @@ stress:rpz:fedora:39:amd64: stress:authoritative:fedora:39:arm64: <<: *fedora_39_arm64_image <<: *linux_arm64 - <<: *stress_job + <<: *stress_test_long_job variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og" FLAME: /usr/bin/flame MODE: authoritative RATE: 10000 - RUN_TIME: 1 + 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) @@ -1664,14 +1773,14 @@ stress:authoritative:fedora:39:arm64: stress:recursive:fedora:39:arm64: <<: *fedora_39_arm64_image <<: *linux_arm64 - <<: *stress_job + <<: *stress_test_long_job variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og" FLAME: /usr/bin/flame MODE: recursive RATE: 10000 - RUN_TIME: 1 + 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) @@ -1679,56 +1788,56 @@ stress:recursive:fedora:39:arm64: stress:rpz:fedora:39:arm64: <<: *fedora_39_arm64_image <<: *linux_arm64 - <<: *stress_job + <<: *stress_test_long_job variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og" FLAME: /usr/bin/flame MODE: rpz RATE: 1500 - RUN_TIME: 1 + 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_job + <<: *stress_test_long_job variables: CC: clang CFLAGS: "${CFLAGS_COMMON} -Og" FLAME: /usr/local/bin/flame MODE: authoritative RATE: 10000 - RUN_TIME: 1 + 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_job + <<: *stress_test_long_job variables: CC: clang CFLAGS: "${CFLAGS_COMMON} -Og" FLAME: /usr/local/bin/flame MODE: recursive RATE: 10000 - RUN_TIME: 1 + 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_job + <<: *stress_test_long_job variables: CC: clang CFLAGS: "${CFLAGS_COMMON} -Og" FLAME: /usr/local/bin/flame MODE: rpz RATE: 1500 - RUN_TIME: 1 + 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)