mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-11 07:19:59 -04:00
Move CI stage "other-checks" right after "quick-checks"
Move CI stage "other-checks" right after "quick-checks" and get the jobs
in it as close to each other as possible in .gitlab-ci.yml.
Since no job is allowed to depend (via "needs") on any job that is
assigned to a stage later than its own, move the "tsan:stress" and
"gcov" jobs to the "system" stage.
(cherry picked from commit 4f89d32bff)
This commit is contained in:
parent
52841c2101
commit
83af3d58dc
1 changed files with 107 additions and 103 deletions
210
.gitlab-ci.yml
210
.gitlab-ci.yml
|
|
@ -102,12 +102,12 @@ default:
|
|||
stages:
|
||||
- autoconf
|
||||
- quick-checks
|
||||
- other-checks
|
||||
- build
|
||||
- unit
|
||||
- system
|
||||
- performance
|
||||
- docs
|
||||
- other-checks
|
||||
- postmerge
|
||||
- release
|
||||
|
||||
|
|
@ -723,23 +723,6 @@ clang-format:
|
|||
expire_in: "1 week"
|
||||
when: on_failure
|
||||
|
||||
coccinelle:
|
||||
<<: *other_checks_job
|
||||
rules:
|
||||
- if: '$CI_MERGE_REQUEST_DIFF_BASE_SHA != null'
|
||||
changes:
|
||||
- '**/*.c'
|
||||
- '**/*.h'
|
||||
- 'cocci/**'
|
||||
- 'util/check-cocci.sh'
|
||||
- *rule_mr_manual
|
||||
- *rule_tag
|
||||
- *rule_source_other_than_mr
|
||||
needs: []
|
||||
script:
|
||||
- util/check-cocci.sh
|
||||
- if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
|
||||
|
||||
doctest:
|
||||
<<: *quick_checks_job
|
||||
# This script needs to: 1) fail if the doctest fails, 2) fail if
|
||||
|
|
@ -812,6 +795,14 @@ danger:
|
|||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
|
||||
mypy:
|
||||
<<: *quick_checks_job
|
||||
<<: *python_triggering_rules
|
||||
script:
|
||||
- mypy "bin/tests/system/isctest/"
|
||||
|
||||
# Jobs in the other-checks stage
|
||||
|
||||
checkbashisms:
|
||||
<<: *other_checks_job
|
||||
<<: *shell_triggering_rules
|
||||
|
|
@ -819,11 +810,101 @@ checkbashisms:
|
|||
script:
|
||||
- checkbashisms $(find . -path './.git' -prune -o -type f -exec sh -c 'head -n 1 "{}" | grep -qsF "#!/bin/sh"' \; -print)
|
||||
|
||||
mypy:
|
||||
<<: *quick_checks_job
|
||||
<<: *python_triggering_rules
|
||||
coccinelle:
|
||||
<<: *other_checks_job
|
||||
rules:
|
||||
- if: '$CI_MERGE_REQUEST_DIFF_BASE_SHA != null'
|
||||
changes:
|
||||
- '**/*.c'
|
||||
- '**/*.h'
|
||||
- 'cocci/**'
|
||||
- 'util/check-cocci.sh'
|
||||
- *rule_mr_manual
|
||||
- *rule_tag
|
||||
- *rule_source_other_than_mr
|
||||
needs: []
|
||||
script:
|
||||
- mypy "bin/tests/system/isctest/"
|
||||
- util/check-cocci.sh
|
||||
- if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
|
||||
|
||||
# Jobs for scan-build builds on Debian 13 "trixie" (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:
|
||||
<<: *other_checks_job
|
||||
variables:
|
||||
CC: "${CLANG}"
|
||||
CFLAGS: "${CFLAGS_COMMON}"
|
||||
CONFIGURE: "${SCAN_BUILD} ./configure"
|
||||
EXTRA_CONFIGURE: "--with-libidn2"
|
||||
before_script:
|
||||
- *list_installed_package_versions
|
||||
script:
|
||||
- *configure
|
||||
- *scan_build
|
||||
needs:
|
||||
- job: autoreconf
|
||||
artifacts: true
|
||||
artifacts:
|
||||
paths:
|
||||
- scan-build.reports/
|
||||
when: on_failure
|
||||
|
||||
# Coverity Scan analysis upload
|
||||
|
||||
.coverity_prep: &coverity_prep
|
||||
- curl --output /tmp/cov-analysis-linux64.md5 https://scan.coverity.com/download/linux64
|
||||
--form project=$COVERITY_SCAN_PROJECT_NAME
|
||||
--form token=$COVERITY_SCAN_TOKEN
|
||||
--form md5=1
|
||||
- curl --output /tmp/cov-analysis-linux64.tgz https://scan.coverity.com/download/linux64
|
||||
--form project=$COVERITY_SCAN_PROJECT_NAME
|
||||
--form token=$COVERITY_SCAN_TOKEN
|
||||
- test "$(md5sum /tmp/cov-analysis-linux64.tgz | awk '{ print $1 }')" = "$(cat /tmp/cov-analysis-linux64.md5)"
|
||||
- tar --extract --gzip --file=/tmp/cov-analysis-linux64.tgz --directory=/tmp
|
||||
- test -d /tmp/cov-analysis-linux64-*
|
||||
|
||||
.coverity_build: &coverity_build
|
||||
- /tmp/cov-analysis-linux64-*/bin/cov-build --dir /tmp/cov-int sh -c 'make -j${BUILD_PARALLEL_JOBS:-1} -k all V=1'
|
||||
- tar --create --gzip --file=/tmp/cov-int.tar.gz --directory /tmp cov-int
|
||||
- curl -v https://scan.coverity.com/builds?project=$COVERITY_SCAN_PROJECT_NAME
|
||||
--form token=$COVERITY_SCAN_TOKEN
|
||||
--form email=bind-changes@isc.org
|
||||
--form file=@/tmp/cov-int.tar.gz
|
||||
--form version="$(git rev-parse --short HEAD)"
|
||||
--form description="$(git rev-parse --short HEAD) / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID" 2>&1
|
||||
| tee curl-response.txt
|
||||
- grep -q 'Build successfully submitted' curl-response.txt
|
||||
|
||||
coverity:
|
||||
<<: *other_checks_job
|
||||
variables:
|
||||
CC: gcc
|
||||
CFLAGS: "${CFLAGS_COMMON} -Og"
|
||||
EXTRA_CONFIGURE: "--with-libidn2"
|
||||
script:
|
||||
- *coverity_prep
|
||||
- *configure
|
||||
- *coverity_build
|
||||
after_script:
|
||||
- mv -v /tmp/cov-int.tar.gz ${CI_PROJECT_DIR}/
|
||||
needs:
|
||||
- job: autoreconf
|
||||
artifacts: true
|
||||
artifacts:
|
||||
paths:
|
||||
- curl-response.txt
|
||||
- cov-int.tar.gz
|
||||
expire_in: "1 week"
|
||||
when: on_failure
|
||||
rules:
|
||||
- if: '$COVERITY_SCAN_PROJECT_NAME != null && $COVERITY_SCAN_TOKEN != null'
|
||||
|
||||
tarball-create:
|
||||
<<: *build_job
|
||||
|
|
@ -1180,35 +1261,6 @@ gcc:trixie:amd64cross32:
|
|||
<<: *debian_trixie_amd64cross32_image
|
||||
<<: *build_job
|
||||
|
||||
# Jobs for scan-build builds on Debian 13 "trixie" (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:
|
||||
<<: *other_checks_job
|
||||
variables:
|
||||
CC: "${CLANG}"
|
||||
CFLAGS: "${CFLAGS_COMMON}"
|
||||
CONFIGURE: "${SCAN_BUILD} ./configure"
|
||||
EXTRA_CONFIGURE: "--with-libidn2"
|
||||
before_script:
|
||||
- *list_installed_package_versions
|
||||
script:
|
||||
- *configure
|
||||
- *scan_build
|
||||
needs:
|
||||
- job: autoreconf
|
||||
artifacts: true
|
||||
artifacts:
|
||||
paths:
|
||||
- scan-build.reports/
|
||||
when: on_failure
|
||||
|
||||
# Jobs for regular GCC builds on Debian "sid" (amd64)
|
||||
# Also tests configration option: --without-lmdb.
|
||||
|
||||
|
|
@ -1518,7 +1570,7 @@ generate-tsan-stress-test-configs:
|
|||
|
||||
tsan:stress:
|
||||
<<: *default_triggering_rules
|
||||
stage: other-checks
|
||||
stage: system
|
||||
variables:
|
||||
PARENT_PIPELINE_ID: $CI_PIPELINE_ID
|
||||
trigger:
|
||||
|
|
@ -1929,56 +1981,6 @@ customer-git:tag:
|
|||
script:
|
||||
- bind9-qa/releng/push_to_customer_repository.py --tag "$CI_COMMIT_TAG" --entitlements isc-customer-settings/entitlements.yaml --force
|
||||
|
||||
# Coverity Scan analysis upload
|
||||
|
||||
.coverity_prep: &coverity_prep
|
||||
- curl --output /tmp/cov-analysis-linux64.md5 https://scan.coverity.com/download/linux64
|
||||
--form project=$COVERITY_SCAN_PROJECT_NAME
|
||||
--form token=$COVERITY_SCAN_TOKEN
|
||||
--form md5=1
|
||||
- curl --output /tmp/cov-analysis-linux64.tgz https://scan.coverity.com/download/linux64
|
||||
--form project=$COVERITY_SCAN_PROJECT_NAME
|
||||
--form token=$COVERITY_SCAN_TOKEN
|
||||
- test "$(md5sum /tmp/cov-analysis-linux64.tgz | awk '{ print $1 }')" = "$(cat /tmp/cov-analysis-linux64.md5)"
|
||||
- tar --extract --gzip --file=/tmp/cov-analysis-linux64.tgz --directory=/tmp
|
||||
- test -d /tmp/cov-analysis-linux64-*
|
||||
|
||||
.coverity_build: &coverity_build
|
||||
- /tmp/cov-analysis-linux64-*/bin/cov-build --dir /tmp/cov-int sh -c 'make -j${BUILD_PARALLEL_JOBS:-1} -k all V=1'
|
||||
- tar --create --gzip --file=/tmp/cov-int.tar.gz --directory /tmp cov-int
|
||||
- curl -v https://scan.coverity.com/builds?project=$COVERITY_SCAN_PROJECT_NAME
|
||||
--form token=$COVERITY_SCAN_TOKEN
|
||||
--form email=bind-changes@isc.org
|
||||
--form file=@/tmp/cov-int.tar.gz
|
||||
--form version="$(git rev-parse --short HEAD)"
|
||||
--form description="$(git rev-parse --short HEAD) / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID" 2>&1
|
||||
| tee curl-response.txt
|
||||
- grep -q 'Build successfully submitted' curl-response.txt
|
||||
|
||||
coverity:
|
||||
<<: *other_checks_job
|
||||
variables:
|
||||
CC: gcc
|
||||
CFLAGS: "${CFLAGS_COMMON} -Og"
|
||||
EXTRA_CONFIGURE: "--with-libidn2"
|
||||
script:
|
||||
- *coverity_prep
|
||||
- *configure
|
||||
- *coverity_build
|
||||
after_script:
|
||||
- mv -v /tmp/cov-int.tar.gz ${CI_PROJECT_DIR}/
|
||||
needs:
|
||||
- job: autoreconf
|
||||
artifacts: true
|
||||
artifacts:
|
||||
paths:
|
||||
- curl-response.txt
|
||||
- cov-int.tar.gz
|
||||
expire_in: "1 week"
|
||||
when: on_failure
|
||||
rules:
|
||||
- if: '$COVERITY_SCAN_PROJECT_NAME != null && $COVERITY_SCAN_TOKEN != null'
|
||||
|
||||
# Respdiff tests
|
||||
|
||||
respdiff:
|
||||
|
|
@ -2127,7 +2129,9 @@ stress-test-child-pipeline:
|
|||
artifacts: true
|
||||
|
||||
gcov:
|
||||
<<: *other_checks_job
|
||||
<<: *default_triggering_rules
|
||||
<<: *base_image
|
||||
stage: system
|
||||
needs:
|
||||
- job: system:gcc:trixie:amd64
|
||||
artifacts: true
|
||||
|
|
|
|||
Loading…
Reference in a new issue