Commit 66ba808c authored by Ondřej Surý's avatar Ondřej Surý Committed by Ondřej Surý

Replace dependencies+needs with needs+artifacts in GitLabCI config

All jobs now use solely the newer needs configuration to declare
dependencies between jobs:

    needs:
      - job: <foo>
        artifacts: true

instead of combination of dependencies and needs which is deprecated.
This change completely unbundles the stages (alas the stages still needs
to stay because the job graph has to stay acyclic between the stages).
parent d7348a2b
......@@ -182,11 +182,7 @@ stages:
script:
- autoreconf -fi
artifacts:
paths:
- aclocal.m4
- configure
- ltmain.sh
- m4/libtool.m4
untracked: true
expire_in: "1 day"
.configure: &configure |
......@@ -214,10 +210,9 @@ stages:
- ${MAKE} -j${BUILD_PARALLEL_JOBS:-1} -k all V=1
- test -z "${RUN_MAKE_INSTALL}" || make install
- test -z "${RUN_MAKE_INSTALL}" || sh util/check-make-install
dependencies:
- autoreconf:sid:amd64
needs:
- autoreconf:sid:amd64
- job: autoreconf:sid:amd64
artifacts: true
artifacts:
untracked: true
expire_in: "1 day"
......@@ -245,9 +240,9 @@ stages:
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
- job: autoreconf:sid:amd64
artifacts: false
artifacts:
untracked: true
expire_in: "1 day"
......@@ -390,6 +385,7 @@ misc:sid:amd64:
- xmllint --noout --nonet `git ls-files '*.xml' '*.docbook'`
- xmllint --noout --nonet --html `git ls-files '*.html'`
- sh util/check-win32util-configure
needs: []
artifacts:
paths:
- util/newcopyrights
......@@ -399,6 +395,7 @@ misc:sid:amd64:
💾:sid:amd64:
<<: *precheck_job
needs: []
script:
- if [ -r .clang-format ]; then "${CLANG_FORMAT}" -i -style=file $(git ls-files '*.c' '*.h'); fi
- if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
......@@ -406,13 +403,14 @@ misc:sid:amd64:
🐞:sid:amd64:
<<: *precheck_job
<<: *debian_buster_amd64_image
needs: []
script:
- util/check-cocci
- if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
tarball-create:sid:amd64:
<<: *debian_sid_amd64_image
stage: precheck
<<: *debian_sid_amd64_image
script:
- source version
- export BIND_DIRECTORY="bind-${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}"
......@@ -437,10 +435,9 @@ docs:sid:amd64:
- ./configure || cat config.log
- make -C doc/misc docbook
- make -C doc/arm Bv9ARM.html
dependencies:
- autoreconf:sid:amd64
needs:
- autoreconf:sid:amd64
- job: autoreconf:sid:amd64
artifacts: true
artifacts:
paths:
- doc/arm/
......@@ -449,7 +446,9 @@ docs:sid:amd64:
push:docs:sid:amd64:
<<: *debian_sid_amd64_image
stage: push
dependencies: []
needs:
- job: docs:sid:amd64
artifacts: false
script:
- curl -X POST -F token=$GITLAB_PAGES_DOCS_TRIGGER_TOKEN -F ref=master $GITLAB_PAGES_DOCS_TRIGGER_URL
only:
......@@ -469,16 +468,16 @@ gcc:alpine3.11:amd64:
system:gcc:alpine3.11:amd64:
<<: *alpine_3_11_amd64_image
<<: *system_test_job
dependencies:
- gcc:alpine3.11:amd64
needs: ["gcc:alpine3.11:amd64"]
needs:
- job: gcc:alpine3.11:amd64
artifacts: true
unit:gcc:alpine3.11:amd64:
<<: *alpine_3_11_amd64_image
<<: *unit_test_job
dependencies:
- gcc:alpine3.11:amd64
needs: ["gcc:alpine3.11:amd64"]
needs:
- job: gcc:alpine3.11:amd64
artifacts: true
# Jobs for regular GCC builds on CentOS 6 (amd64)
......@@ -493,16 +492,16 @@ gcc:centos6:amd64:
system:gcc:centos6:amd64:
<<: *centos_centos6_amd64_image
<<: *system_test_job
dependencies:
- gcc:centos6:amd64
needs: ["gcc:centos6:amd64"]
needs:
- job: gcc:centos6:amd64
artifacts: true
unit:gcc:centos6:amd64:
<<: *centos_centos6_amd64_image
<<: *unit_test_job
dependencies:
- gcc:centos6:amd64
needs: ["gcc:centos6:amd64"]
needs:
- job: gcc:centos6:amd64
artifacts: true
# Jobs for regular GCC builds on CentOS 7 (amd64)
......@@ -517,16 +516,16 @@ gcc:centos7:amd64:
system:gcc:centos7:amd64:
<<: *centos_centos7_amd64_image
<<: *system_test_job
dependencies:
- gcc:centos7:amd64
needs: ["gcc:centos7:amd64"]
needs:
- job: gcc:centos7:amd64
artifacts: true
unit:gcc:centos7:amd64:
<<: *centos_centos7_amd64_image
<<: *unit_test_job
dependencies:
- gcc:centos7:amd64
needs: ["gcc:centos7:amd64"]
needs:
- job: gcc:centos7:amd64
artifacts: true
# Jobs for regular GCC builds on CentOS 8 (amd64)
......@@ -541,16 +540,16 @@ gcc:centos8:amd64:
system:gcc:centos8:amd64:
<<: *centos_centos8_amd64_image
<<: *system_test_job
dependencies:
- gcc:centos8:amd64
needs: ["gcc:centos8:amd64"]
needs:
- job: gcc:centos8:amd64
artifacts: true
unit:gcc:centos8:amd64:
<<: *centos_centos8_amd64_image
<<: *unit_test_job
dependencies:
- gcc:centos8:amd64
needs: ["gcc:centos8:amd64"]
needs:
- job: gcc:centos8:amd64
artifacts: true
# Jobs for regular GCC builds on Debian 8 Jessie (amd64)
......@@ -565,16 +564,16 @@ gcc:jessie:amd64:
system:gcc:jessie:amd64:
<<: *debian_jessie_amd64_image
<<: *system_test_job
dependencies:
- gcc:jessie:amd64
needs: ["gcc:jessie:amd64"]
needs:
- job: gcc:jessie:amd64
artifacts: true
unit:gcc:jessie:amd64:
<<: *debian_jessie_amd64_image
<<: *unit_test_job
dependencies:
- gcc:jessie:amd64
needs: ["gcc:jessie:amd64"]
needs:
- job: gcc:jessie:amd64
artifacts: true
# Jobs for regular GCC builds on Debian 9 Stretch (amd64)
......@@ -588,16 +587,16 @@ gcc:stretch:amd64:
system:gcc:stretch:amd64:
<<: *debian_stretch_amd64_image
<<: *system_test_job
dependencies:
- gcc:stretch:amd64
needs: ["gcc:stretch:amd64"]
needs:
- job: gcc:stretch:amd64
artifacts: true
unit:gcc:stretch:amd64:
<<: *debian_stretch_amd64_image
<<: *unit_test_job
dependencies:
- gcc:stretch:amd64
needs: ["gcc:stretch:amd64"]
needs:
- job: gcc:stretch:amd64
artifacts: true
# Jobs for regular GCC builds on Debian 10 Buster (amd64)
......@@ -611,16 +610,16 @@ gcc:buster:amd64:
system:gcc:buster:amd64:
<<: *debian_buster_amd64_image
<<: *system_test_job
dependencies:
- gcc:buster:amd64
needs: ["gcc:buster:amd64"]
needs:
- job: gcc:buster:amd64
artifacts: true
unit:gcc:buster:amd64:
<<: *debian_buster_amd64_image
<<: *unit_test_job
dependencies:
- gcc:buster:amd64
needs: ["gcc:buster:amd64"]
needs:
- job: gcc:buster:amd64
artifacts: true
# Jobs for scan-build builds on Debian Buster (amd64)
......@@ -644,10 +643,9 @@ scan-build:buster:amd64:
script:
- *configure
- *scan_build
dependencies:
- autoreconf:sid:amd64
needs:
- autoreconf:sid:amd64
- job: autoreconf:sid:amd64
artifacts: true
artifacts:
paths:
- scan-build.reports/
......@@ -669,23 +667,23 @@ gcc:sid:amd64:
system:gcc:sid:amd64:
<<: *debian_sid_amd64_image
<<: *system_test_job
dependencies:
- gcc:sid:amd64
needs: ["gcc:sid:amd64"]
needs:
- job: gcc:sid:amd64
artifacts: true
unit:gcc:sid:amd64:
<<: *debian_sid_amd64_image
<<: *unit_test_job
dependencies:
- gcc:sid:amd64
needs: ["gcc:sid:amd64"]
needs:
- job: gcc:sid:amd64
artifacts: true
cppcheck:gcc:sid:amd64:
<<: *debian_sid_amd64_image
<<: *cppcheck_job
dependencies:
- gcc:sid:amd64
needs: ["gcc:sid:amd64"]
needs:
- job: gcc:sid:amd64
artifacts: true
# Job for out-of-tree GCC build on Debian Sid (amd64)
......@@ -713,9 +711,9 @@ tarball:sid:amd64:
- 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"]
needs:
- job: tarball-create:sid:amd64
artifacts: true
only:
- tags
......@@ -725,9 +723,9 @@ system:tarball:sid:amd64:
before_script:
- cd bind-*
- *setup_interfaces
dependencies:
- tarball:sid:amd64
needs: ["tarball:sid:amd64"]
needs:
- job: tarball:sid:amd64
artifacts: true
only:
- tags
......@@ -736,9 +734,9 @@ unit:tarball:sid:amd64:
<<: *unit_test_job
before_script:
- cd bind-*
dependencies:
- tarball:sid:amd64
needs: ["tarball:sid:amd64"]
needs:
- job: tarball:sid:amd64
artifacts: true
only:
- tags
......@@ -757,23 +755,23 @@ gcc:sid:arm64:
system:gcc:sid:arm64:
<<: *debian_sid_arm64_image
<<: *system_test_job
dependencies:
- gcc:sid:arm64
needs: ["gcc:sid:arm64"]
needs:
- job: gcc:sid:arm64
artifacts: true
unit:gcc:sid:arm64:
<<: *debian_sid_arm64_image
<<: *unit_test_job
dependencies:
- gcc:sid:arm64
needs: ["gcc:sid:arm64"]
needs:
- job: gcc:sid:arm64
artifacts: true
cppcheck:gcc:sid:arm64:
<<: *debian_sid_arm64_image
<<: *cppcheck_job
dependencies:
- gcc:sid:arm64
needs: ["gcc:sid:arm64"]
needs:
- job: gcc:sid:arm64
artifacts: true
# Jobs for regular GCC builds on Debian Sid (i386)
......@@ -788,16 +786,16 @@ gcc:sid:i386:
system:gcc:sid:i386:
<<: *debian_sid_i386_image
<<: *system_test_job
dependencies:
- gcc:sid:i386
needs: ["gcc:sid:i386"]
needs:
- job: gcc:sid:i386
artifacts: true
unit:gcc:sid:i386:
<<: *debian_sid_i386_image
<<: *unit_test_job
dependencies:
- gcc:sid:i386
needs: ["gcc:sid:i386"]
needs:
- job: gcc:sid:i386
artifacts: true
# Jobs for regular GCC builds on openSUSE Tumbleweed (amd64)
......@@ -812,16 +810,16 @@ gcc:tumbleweed:amd64:
system:gcc:tumbleweed:amd64:
<<: *tumbleweed_latest_amd64_image
<<: *system_test_job
dependencies:
- gcc:tumbleweed:amd64
needs: ["gcc:tumbleweed:amd64"]
needs:
- job: gcc:tumbleweed:amd64
artifacts: true
unit:gcc:tumbleweed:amd64:
<<: *tumbleweed_latest_amd64_image
<<: *unit_test_job
dependencies:
- gcc:tumbleweed:amd64
needs: ["gcc:tumbleweed:amd64"]
needs:
- job: gcc:tumbleweed:amd64
artifacts: true
# Jobs for regular GCC builds on Fedora 31 (amd64)
......@@ -836,16 +834,16 @@ gcc:fedora31:amd64:
system:gcc:fedora31:amd64:
<<: *fedora_31_amd64_image
<<: *system_test_job
dependencies:
- gcc:fedora31:amd64
needs: ["gcc:fedora31:amd64"]
needs:
- job: gcc:fedora31:amd64
artifacts: true
unit:gcc:fedora31:amd64:
<<: *fedora_31_amd64_image
<<: *unit_test_job
dependencies:
- gcc:fedora31:amd64
needs: ["gcc:fedora31:amd64"]
needs:
- job: gcc:fedora31:amd64
artifacts: true
# Jobs for regular GCC builds on Ubuntu 16.04 Xenial Xerus (amd64)
......@@ -860,16 +858,16 @@ gcc:xenial:amd64:
system:gcc:xenial:amd64:
<<: *ubuntu_xenial_amd64_image
<<: *system_test_job
dependencies:
- gcc:xenial:amd64
needs: ["gcc:xenial:amd64"]
needs:
- job: gcc:xenial:amd64
artifacts: true
unit:gcc:xenial:amd64:
<<: *ubuntu_xenial_amd64_image
<<: *unit_test_job
dependencies:
- gcc:xenial:amd64
needs: ["gcc:xenial:amd64"]
needs:
- job: gcc:xenial:amd64
artifacts: true
# Jobs for regular GCC builds on Ubuntu 18.04 Bionic Beaver (amd64)
......@@ -884,16 +882,16 @@ gcc:bionic:amd64:
system:gcc:bionic:amd64:
<<: *ubuntu_bionic_amd64_image
<<: *system_test_job
dependencies:
- gcc:bionic:amd64
needs: ["gcc:bionic:amd64"]
needs:
- job: gcc:bionic:amd64
artifacts: true
unit:gcc:bionic:amd64:
<<: *ubuntu_bionic_amd64_image
<<: *unit_test_job
dependencies:
- gcc:bionic:amd64
needs: ["gcc:bionic:amd64"]
needs:
- job: gcc:bionic:amd64
artifacts: true
# Jobs for GCC builds with ASAN enabled on Debian Sid (amd64)
......@@ -911,18 +909,18 @@ system:asan:sid:amd64:
ASAN_OPTIONS: ${ASAN_OPTIONS_COMMON}
<<: *debian_sid_amd64_image
<<: *system_test_job
dependencies:
- asan:sid:amd64
needs: ["asan:sid:amd64"]
needs:
- job: asan:sid:amd64
artifacts: true
unit:asan:sid:amd64:
variables:
ASAN_OPTIONS: ${ASAN_OPTIONS_COMMON}
<<: *debian_sid_amd64_image
<<: *unit_test_job
dependencies:
- asan:sid:amd64
needs: ["asan:sid:amd64"]
needs:
- job: asan:sid:amd64
artifacts: true
# Jobs for GCC builds with TSAN enabled on Debian Sid (amd64)
......@@ -943,9 +941,9 @@ system:tsan:buster:amd64:
- echo $TSAN_OPTIONS
<<: *debian_buster_amd64_image
<<: *system_test_job
dependencies:
- tsan:buster:amd64
needs: ["tsan:buster:amd64"]
needs:
- job: tsan:buster:amd64
artifacts: true
allow_failure: true
after_script:
- find bin -name 'tsan.*' -exec python3 util/parse_tsan.py {} \;
......@@ -965,9 +963,9 @@ unit:tsan:buster:amd64:
- lib/isc/tests/result_test
<<: *debian_buster_amd64_image
<<: *unit_test_job
dependencies:
- tsan:buster:amd64
needs: ["tsan:buster:amd64"]
needs:
- job: tsan:buster:amd64
artifacts: true
allow_failure: true
after_script:
- find lib -name 'tsan.*' -exec python3 util/parse_tsan.py {} \;
......@@ -992,16 +990,16 @@ rwlock:sid:amd64:
system:rwlock:sid:amd64:
<<: *debian_sid_amd64_image
<<: *system_test_job
dependencies:
- rwlock:sid:amd64
needs: ["rwlock:sid:amd64"]
needs:
- job: rwlock:sid:amd64
artifacts: true
unit:rwlock:sid:amd64:
<<: *debian_sid_amd64_image
<<: *unit_test_job
dependencies:
- rwlock:sid:amd64
needs: ["rwlock:sid:amd64"]
needs:
- job: rwlock:sid:amd64
artifacts: true
# Jobs for mutex-based atomics on Debian SID (amd64)
mutexatomics:sid:amd64:
......@@ -1015,16 +1013,16 @@ mutexatomics:sid:amd64:
system:mutexatomics:sid:amd64:
<<: *debian_sid_amd64_image
<<: *system_test_job
dependencies:
- mutexatomics:sid:amd64
needs: ["mutexatomics:sid:amd64"]
needs:
- job: mutexatomics:sid:amd64
artifacts: true
unit:mutexatomics:sid:amd64:
<<: *debian_sid_amd64_image
<<: *unit_test_job
dependencies:
- mutexatomics:sid:amd64
needs: ["mutexatomics:sid:amd64"]
needs:
- job: mutexatomics:sid:amd64
artifacts: true
# Jobs for Clang builds on Debian Stretch (amd64)
......@@ -1039,9 +1037,9 @@ clang:stretch:amd64:
unit:clang:stretch:amd64:
<<: *debian_stretch_amd64_image
<<: *unit_test_job
dependencies:
- clang:stretch:amd64
needs: ["clang:stretch:amd64"]
needs:
- job: clang:stretch:amd64
artifacts: true
# Jobs for Clang builds on Debian Stretch (i386)
......@@ -1066,16 +1064,16 @@ pkcs11:sid:amd64:
system:pkcs11:sid:amd64:
<<: *debian_sid_amd64_image
<<: *system_test_job
dependencies:
- pkcs11:sid:amd64
needs: ["pkcs11:sid:amd64"]
needs:
- job: pkcs11:sid:amd64
artifacts: true
unit:pkcs11:sid:amd64:
<<: *debian_sid_amd64_image
<<: *unit_test_job
dependencies:
- pkcs11:sid:amd64
needs: ["pkcs11:sid:amd64"]
needs:
- job: pkcs11:sid:amd64
artifacts: true
# Jobs for Clang builds on FreeBSD 11.3 (amd64)
......@@ -1092,18 +1090,18 @@ system:clang:freebsd11.3:amd64:
variables:
USER: gitlab-runner
TEST_PARALLEL_JOBS: 4
dependencies:
- clang:freebsd11.3:amd64
needs: ["clang:freebsd11.3:amd64"]
needs:
- job: clang:freebsd11.3:amd64
artifacts: true
unit:clang:freebsd11.3:amd64:
<<: *freebsd_amd64
<<: *unit_test_job
variables:
USER: gitlab-runner
dependencies:
- clang:freebsd11.3:amd64
needs: ["clang:freebsd11.3:amd64"]
needs:
- job: clang:freebsd11.3:amd64
artifacts: true
# Jobs for Clang builds on FreeBSD 12.1 (amd64)
......@@ -1121,18 +1119,18 @@ system:clang:freebsd12.1:amd64:
variables:
USER: gitlab-runner
TEST_PARALLEL_JOBS: 4
dependencies:
- clang:freebsd12.1:amd64
needs: ["clang:freebsd12.1:amd64"]
needs:
- job: clang:freebsd12.1:amd64
artifacts: true
unit:clang:freebsd12.1:amd64:
<<: *freebsd_amd64
<<: *unit_test_job
variables: