]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
ci: split pkgtest into separate child pipeline
authorTomas Krizek <tomas.krizek@nic.cz>
Tue, 1 Jun 2021 13:31:30 +0000 (15:31 +0200)
committerTomas Krizek <tomas.krizek@nic.cz>
Thu, 10 Jun 2021 09:17:37 +0000 (11:17 +0200)
.gitlab-ci.yml
ci/pkgtest.yaml [new file with mode: 0644]

index 7b2bdb0218c418e8bc189541c3b260e2a88f5788..bdb00245bff8194fbd13d2471f9f225370ec6fae 100644 (file)
@@ -23,9 +23,8 @@ stages:
   - sanity
   - test
   - respdiff
-  - resperf
+  - extended
   - deploy
-  - pkgbuild
   - pkgtest
 
 .common: &common
@@ -393,12 +392,9 @@ fwd-udp6-unbound.tls6:
   variables:
     RESPDIFF_TEST: shortlist.fwd-udp6-unbound.tls6
 
-# }}}
-
-# resperf {{{
 .resperf:  &resperf
   <<: *condor
-  stage: resperf
+  stage: respdiff
   script:
     - git diff-index --name-only origin/master | grep -qEv '^(AUTHORS|ci/|config.mk|COPYING|distro/|doc/|etc/|NEWS|README.md|scripts/|tests/|\.gitignore|\.gitlab-ci\.yml|\.travis\.yml)' || test $RESPERF_FORCE -gt 0 || exit 0
     - export LABEL=gl$(date +%s)
@@ -436,6 +432,23 @@ rp:iter.udp-asan:
     RESPERF_TEST: resperf.iter.udp
 # }}}
 
+# extended {{{
+pkgtest:
+  stage: extended
+  trigger:
+    include: ci/pkgtest.yaml
+    strategy: depend
+  needs:
+    - build
+  except:
+    refs:
+      - master@knot/knot-resolver
+      - master@knot/security/knot-resolver
+      - tags
+    variables:
+      - $SKIP_CI == "1"
+# }}}
+
 # deploy {{{
 # copy snapshot of current master to nightly branch for further processing
 # (this is workaround for missing complex conditions for job limits in Gitlab)
@@ -496,128 +509,6 @@ obs:odvr:
   when: manual
 # }}}
 
-# pkgbuild {{{
-.pkgbuild: &pkgbuild
-  <<: *common
-  stage: pkgbuild
-  tags:
-    - lxc
-    - amd64
-  needs:
-    - build
-  before_script:
-    - git config --global user.name CI
-    - git config --global user.email ci@nic
-  artifacts:
-    when: always
-    expire_in: '1 day'
-    paths:
-      - pkg/
-
-.apkgbuild: &apkgbuild
-  - pip3 install -U apkg
-  - apkg build-dep -y
-  - apkg build
-
-.pkgbuilddebrepo: &pkgbuilddebrepo
-  - apt-get update
-  - apt-get install -y curl gnupg2 python3-pip devscripts
-  - echo "deb http://download.opensuse.org/repositories/home:/CZ-NIC:/$OBS_REPO/$DISTROTEST_REPO/ /" > /etc/apt/sources.list.d/obs.list
-  - curl -fsSL "https://download.opensuse.org/repositories/home:CZ-NIC:$OBS_REPO/$DISTROTEST_REPO/Release.key" | gpg --dearmor > /etc/apt/trusted.gpg.d/obs.gpg
-  - apt-get update
-
-fedora-33:pkgbuild:
-  <<: *pkgbuild
-  image: $CI_REGISTRY/labs/lxc-gitlab-runner/fedora-33
-  script:
-    - dnf install -y rpm-build python3-pip
-    - *apkgbuild
-
-fedora-34:pkgbuild:
-  <<: *pkgbuild
-  image: $CI_REGISTRY/labs/lxc-gitlab-runner/fedora-34
-  script:
-    - dnf install -y rpm-build python3-pip
-    - *apkgbuild
-
-centos-7:pkgbuild:
-  <<: *pkgbuild
-  image: $CI_REGISTRY/labs/lxc-gitlab-runner/centos-7
-  variables:
-    LC_ALL: en_US.utf8
-  script:
-    - yum install -y rpm-build python3-pip epel-release
-    - *apkgbuild
-
-centos-8:pkgbuild:
-  <<: *pkgbuild
-  image: $CI_REGISTRY/labs/lxc-gitlab-runner/centos-8
-  script:
-    - dnf install -y rpm-build python3-pip epel-release
-    - sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/CentOS-Linux-PowerTools.repo
-    - sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/CentOS-Linux-Devel.repo
-    - *apkgbuild
-
-opensuse-15.2:pkgbuild:
-  <<: *pkgbuild
-  image: $CI_REGISTRY/labs/lxc-gitlab-runner/opensuse-15.2
-  script:
-    - zypper addrepo -G -f https://download.opensuse.org/repositories/home:CZ-NIC:knot-resolver-build/openSUSE_Leap_15.2/home:CZ-NIC:knot-resolver-build.repo
-    - zypper install -y rpm-build python3-pip
-    - *apkgbuild
-
-ubuntu-18.04:pkgbuild:
-  <<: *pkgbuild
-  image: $CI_REGISTRY/labs/lxc-gitlab-runner/ubuntu-18.04
-  variables:
-    OBS_REPO: knot-resolver-build
-    DISTROTEST_REPO: xUbuntu_18.04
-  script:
-    - *pkgbuilddebrepo
-    - *apkgbuild
-
-ubuntu-20.04:pkgbuild:
-  <<: *pkgbuild
-  image: $CI_REGISTRY/labs/lxc-gitlab-runner/ubuntu-20.04
-  variables:
-    OBS_REPO: knot-resolver-build
-    DISTROTEST_REPO: xUbuntu_20.04
-  script:
-    - *pkgbuilddebrepo
-    - *apkgbuild
-
-ubuntu-21.04:pkgbuild:
-  <<: *pkgbuild
-  image: $CI_REGISTRY/labs/lxc-gitlab-runner/ubuntu-21.04
-  variables:
-    OBS_REPO: knot-resolver-build
-    DISTROTEST_REPO: xUbuntu_21.04
-  script:
-    - *pkgbuilddebrepo
-    - *apkgbuild
-
-debian-9:pkgbuild:
-  <<: *pkgbuild
-  image: $CI_REGISTRY/labs/lxc-gitlab-runner/debian-9
-  variables:
-    OBS_REPO: knot-resolver-build
-    DISTROTEST_REPO: Debian_9.0
-  script:
-    - *pkgbuilddebrepo
-    - *apkgbuild
-
-debian-10:pkgbuild:
-  <<: *pkgbuild
-  image: $CI_REGISTRY/labs/lxc-gitlab-runner/debian-10
-  variables:
-    OBS_REPO: knot-resolver-build
-    DISTROTEST_REPO: Debian_10
-  script:
-    - *pkgbuilddebrepo
-    - *apkgbuild
-
-# }}}
-
 # pkgtest {{{
 .deploytest: &deploytest
   stage: pkgtest
@@ -799,16 +690,4 @@ packaging:leap_15.2:
   variables:
     DISTRO: leap_15.2
 
-fedora-34:pkgtest:
-  <<: *common
-  stage: pkgtest
-  tags:
-    - lxc
-    - amd64
-  needs:
-    - fedora-34:pkgbuild
-  image: $CI_REGISTRY/labs/lxc-gitlab-runner/fedora-34
-  script:
-    - dnf install $(ls pkg/pkgs/fedora-34/)
-    - systemctl start kresd@1
 # }}}
diff --git a/ci/pkgtest.yaml b/ci/pkgtest.yaml
new file mode 100644 (file)
index 0000000..a514453
--- /dev/null
@@ -0,0 +1,272 @@
+stages:
+  - pkgbuild
+  - pkgtest
+
+# pkgbuild {{{
+.pkgbuild: &pkgbuild
+  stage: pkgbuild
+  tags:
+    - lxc
+    - amd64
+  before_script:
+    - git config --global user.name CI
+    - git config --global user.email ci@nic
+  artifacts:
+    when: always
+    expire_in: '1 day'
+    paths:
+      - pkg/
+
+.apkgbuild: &apkgbuild
+  - pip3 install -U apkg
+  - apkg build-dep -y
+  - apkg build
+
+.pkgdebrepo: &pkgdebrepo
+  - apt-get update
+  - apt-get install -y curl gnupg2
+  - echo "deb http://download.opensuse.org/repositories/home:/CZ-NIC:/$OBS_REPO/$DISTROTEST_REPO/ /" > /etc/apt/sources.list.d/obs.list
+  - curl -fsSL "https://download.opensuse.org/repositories/home:CZ-NIC:$OBS_REPO/$DISTROTEST_REPO/Release.key" | gpg --dearmor > /etc/apt/trusted.gpg.d/obs.gpg
+  - apt-get update
+
+.debpkgbuild: &debpkgbuild
+  - *pkgdebrepo
+  - apt-get install -y python3-pip devscripts
+  - *apkgbuild
+
+centos-7:pkgbuild:
+  <<: *pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/centos-7
+  before_script:
+    - export LC_ALL=en_US.UTF-8
+    - git config --global user.name CI
+    - git config --global user.email ci@nic
+  script:
+    - yum install -y rpm-build python3-pip epel-release
+    - *apkgbuild
+
+debian-9:pkgbuild:
+  <<: *pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/debian-9
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: Debian_9.0
+  script:
+    - *debpkgbuild
+
+debian-10:pkgbuild:
+  <<: *pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/debian-10
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: Debian_10
+  script:
+    - *debpkgbuild
+
+debian-11:pkgbuild:
+  <<: *pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/debian-11
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: Debian_11
+  script:
+    - *debpkgbuild
+
+fedora-33:pkgbuild:
+  <<: *pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/fedora-33
+  script:
+    - dnf install -y rpm-build python3-pip
+    - *apkgbuild
+
+fedora-34:pkgbuild:
+  <<: *pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/fedora-34
+  script:
+    - dnf install -y rpm-build python3-pip
+    - *apkgbuild
+
+opensuse-15.2:pkgbuild:
+  <<: *pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/opensuse-15.2
+  script:
+    - zypper addrepo -G -f https://download.opensuse.org/repositories/home:CZ-NIC:knot-resolver-build/openSUSE_Leap_15.2/home:CZ-NIC:knot-resolver-build.repo
+    - zypper install -y rpm-build python3-pip
+    - *apkgbuild
+
+opensuse-15.3:pkgbuild:
+  <<: *pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/opensuse-15.3
+  script:
+    - zypper addrepo -G -f https://download.opensuse.org/repositories/home:CZ-NIC:knot-resolver-build/openSUSE_Leap_15.3/home:CZ-NIC:knot-resolver-build.repo
+    - zypper install -y rpm-build python3-pip
+    - *apkgbuild
+
+ubuntu-18.04:pkgbuild:
+  <<: *pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/ubuntu-18.04
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: xUbuntu_18.04
+  script:
+    - *debpkgbuild
+
+ubuntu-20.04:pkgbuild:
+  <<: *pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/ubuntu-20.04
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: xUbuntu_20.04
+  script:
+    - *debpkgbuild
+
+ubuntu-21.04:pkgbuild:
+  <<: *pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/ubuntu-21.04
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: xUbuntu_21.04
+  script:
+    - *debpkgbuild
+# }}}
+
+# pkgtest {{{
+.pkgtest: &pkgtest
+  stage: pkgtest
+  tags:
+    - lxc
+    - amd64
+
+.debpkgtest: &debpkgtest
+  - *pkgdebrepo
+  - apt-get install -y knot-dnsutils
+  - apt-get install -y $(find ./pkg/pkgs -name '*.deb' | grep -v module)
+  - systemctl start kresd@1
+  - kdig @127.0.0.1 nic.cz | grep -qi NOERROR
+
+centos-7:pkgtest:
+  <<: *pkgtest
+  needs:
+    - centos-7:pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/centos-7
+  before_script:
+    - export LC_ALL=en_US.UTF-8
+  script:
+    - yum install -y epel-release
+    - yum install -y knot-utils findutils
+    - yum install -y $(find ./pkg/pkgs -name '*.rpm' | grep -v module)
+    - systemctl start kresd@1
+    - kdig @127.0.0.1 nic.cz | grep -qi NOERROR
+
+debian-9:pkgtest:
+  <<: *pkgtest
+  needs:
+    - debian-9:pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/debian-9
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: Debian_9.0
+  script:
+    - *debpkgtest
+
+debian-10:pkgtest:
+  <<: *pkgtest
+  needs:
+    - debian-10:pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/debian-10
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: Debian_10
+  script:
+    - *debpkgtest
+
+debian-11:pkgtest:
+  <<: *pkgtest
+  needs:
+    - debian-11:pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/debian-11
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: Debian_11
+  script:
+    - *debpkgtest
+
+fedora-33:pkgtest:
+  <<: *pkgtest
+  needs:
+    - fedora-33:pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/fedora-33
+  script:
+    - dnf install -y knot-utils findutils
+    - dnf install -y $(find ./pkg/pkgs -name '*.rpm' | grep -v module)
+    - systemctl start kresd@1
+    - kdig @127.0.0.1 nic.cz | grep -qi NOERROR
+
+fedora-34:pkgtest:
+  <<: *pkgtest
+  needs:
+    - fedora-34:pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/fedora-34
+  script:
+    - dnf install -y knot-utils findutils
+    - dnf install -y $(find ./pkg/pkgs -name '*.rpm' | grep -v module)
+    - systemctl start kresd@1
+    - kdig @127.0.0.1 nic.cz | grep -qi NOERROR
+
+opensuse-15.2:pkgtest:
+  <<: *pkgtest
+  needs:
+    - opensuse-15.2:pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/opensuse-15.2
+  script:
+    - zypper addrepo -G -f https://download.opensuse.org/repositories/home:CZ-NIC:knot-resolver-build/openSUSE_Leap_15.2/home:CZ-NIC:knot-resolver-build.repo
+    - zypper install -y knot-utils
+    - zypper install --allow-unsigned-rpm -y $(find ./pkg/pkgs -name '*.rpm' | grep -v module)
+    - systemctl start kresd@1
+    - kdig @127.0.0.1 nic.cz | grep -qi NOERROR
+
+opensuse-15.3:pkgtest:
+  <<: *pkgtest
+  needs:
+    - opensuse-15.3:pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/opensuse-15.3
+  script:
+    - zypper addrepo -G -f https://download.opensuse.org/repositories/home:CZ-NIC:knot-resolver-build/openSUSE_Leap_15.3/home:CZ-NIC:knot-resolver-build.repo
+    - zypper install -y knot-utils
+    - zypper install --allow-unsigned-rpm -y $(find ./pkg/pkgs -name '*.rpm' | grep -v module)
+    - systemctl start kresd@1
+    - kdig @127.0.0.1 nic.cz | grep -qi NOERROR
+
+ubuntu-18.04:pkgtest:
+  <<: *pkgtest
+  needs:
+    - ubuntu-18.04:pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/ubuntu-18.04
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: xUbuntu_18.04
+  script:
+    - *debpkgtest
+
+ubuntu-20.04:pkgtest:
+  <<: *pkgtest
+  needs:
+    - ubuntu-20.04:pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/ubuntu-20.04
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: xUbuntu_20.04
+  script:
+    - *debpkgtest
+
+ubuntu-21.04:pkgtest:
+  <<: *pkgtest
+  needs:
+    - ubuntu-21.04:pkgbuild
+  image: $CI_REGISTRY/labs/lxc-gitlab-runner/ubuntu-21.04
+  variables:
+    OBS_REPO: knot-resolver-build
+    DISTROTEST_REPO: xUbuntu_21.04
+  script:
+    - *debpkgtest
+# }}}