From: Andoni Duarte Pintado Date: Mon, 15 Dec 2025 12:08:44 +0000 (+0100) Subject: Rename the "precheck" stage in CI to "quick-checks" X-Git-Tag: v9.18.45~6^2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1eeeb0dff4d8bb16a30c0a67b5260c142fbcf4c3;p=thirdparty%2Fbind9.git Rename the "precheck" stage in CI to "quick-checks" Most jobs in the "precheck" stage spend more time setting up their environment than running the script (seconds), this allows us to add a small always on dedicated runner instead of the autoscaled ones. Hence, the stage is renamed to "quick-checks", and a tag "smalljob" is added to the anchor so that these jobs are picked by the dedicated runner. (cherry picked from commit 9aa5041a88e20ab24559091494bbd20944723225) --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1144419de47..ccc2a1ce23d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -101,7 +101,7 @@ default: stages: - autoconf - - precheck + - quick-checks - build - unit - system @@ -328,10 +328,12 @@ stages: - *rule_source_other_than_mr - *rule_mr_system_tests -.precheck: &precheck_job +.quick-check: &quick_checks_job <<: *default_triggering_rules <<: *base_image - stage: precheck + stage: quick-checks + tags: + - smalljob .autoconf: &autoconf_job <<: *default_triggering_rules @@ -621,13 +623,13 @@ stages: ### Job Definitions -# Jobs in the precheck stage +# Jobs in the quick-checks stage autoreconf: <<: *autoconf_job misc: - <<: *precheck_job + <<: *quick_checks_job script: - sh util/checklibs.sh > checklibs.out - sh util/check-categories.sh @@ -645,7 +647,7 @@ misc: when: on_failure black: - <<: *precheck_job + <<: *quick_checks_job <<: *python_triggering_rules needs: [] script: @@ -659,14 +661,14 @@ black: when: on_failure vulture: - <<: *precheck_job + <<: *quick_checks_job <<: *python_triggering_rules needs: [] script: - vulture --exclude "*ans.py,conftest.py,get_algorithms.py,re_compile_checker.py,isctest" --ignore-names "after_servers_start,bootstrap,pytestmark,autouse_*" bin/tests/system/ ci-variables: - <<: *precheck_job + <<: *quick_checks_job script: - export BIND_BASELINE_BRANCH="$(sed -n -E "s|^m4_define\(\[bind_VERSION_MINOR\], ([0-9]+)\)dnl$|\1|p" configure.ac)" # When testing a .0 release, compare it against the previous development @@ -682,7 +684,7 @@ ci-variables: dotenv: ci_vars.env ci-orphaned-anchors: - <<: *precheck_job + <<: *quick_checks_job script: - *git_clone_bind9-qa - bind9-qa/ci-orphaned-anchors/check-orphaned-anchors-ci.py .gitlab-ci.yml @@ -693,7 +695,7 @@ ci-orphaned-anchors: - .gitlab-ci.yml clang-format: - <<: *precheck_job + <<: *quick_checks_job rules: - if: '$CI_MERGE_REQUEST_DIFF_BASE_SHA != null' changes: @@ -716,7 +718,7 @@ clang-format: when: on_failure coccinelle: - <<: *precheck_job + <<: *quick_checks_job rules: - if: '$CI_MERGE_REQUEST_DIFF_BASE_SHA != null' changes: @@ -733,7 +735,7 @@ coccinelle: - if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi doctest: - <<: *precheck_job + <<: *quick_checks_job # This script needs to: 1) fail if the doctest fails, 2) fail if # the junit.xml file is broken, 3) produce the junit.xml file even if # the doctest fails. Therefore, $RET is used to "cache" the @@ -762,7 +764,7 @@ doctest: - junit.xml pylint: - <<: *precheck_job + <<: *quick_checks_job <<: *python_triggering_rules needs: [] variables: @@ -773,7 +775,7 @@ pylint: - pylint --rcfile $CI_PROJECT_DIR/.pylintrc --load-plugins re_compile_checker --disable=wrong-import-position $(git ls-files 'bin/tests/system/*.py' | grep -vE '(ans\.py|vulture_ignore_list\.py)') reuse: - <<: *precheck_job + <<: *quick_checks_job needs: [] image: name: docker.io/fsfe/reuse:latest @@ -782,7 +784,7 @@ reuse: - reuse lint shfmt: - <<: *precheck_job + <<: *quick_checks_job <<: *shell_triggering_rules needs: [] script: @@ -796,7 +798,7 @@ shfmt: when: on_failure danger: - <<: *precheck_job + <<: *quick_checks_job needs: [] script: - pip install git+https://gitlab.isc.org/isc-projects/hazard.git @@ -805,20 +807,20 @@ danger: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' checkbashisms: - <<: *precheck_job + <<: *quick_checks_job <<: *shell_triggering_rules needs: [] script: - checkbashisms $(find . -path './.git' -prune -o -type f -exec sh -c 'head -n 1 "{}" | grep -qsF "#!/bin/sh"' \; -print) mypy: - <<: *precheck_job + <<: *quick_checks_job <<: *python_triggering_rules script: - mypy "bin/tests/system/isctest/" tarball-create: - stage: precheck + stage: quick-checks <<: *base_image <<: *default_triggering_rules script: @@ -2092,9 +2094,7 @@ shotgun:doh-get: # - *shotgun_rule_other generate-stress-test-configs: - <<: *base_image - <<: *default_triggering_rules - stage: precheck + <<: *quick_checks_job script: - *git_clone_bind9-qa - bind9-qa/stress/generate-stress-test-configs.py > stress-test-configs.yml