]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
ci: build and install packages with apkg
authorTomas Krizek <tomas.krizek@nic.cz>
Tue, 18 May 2021 13:03:28 +0000 (15:03 +0200)
committerTomas Krizek <tomas.krizek@nic.cz>
Thu, 10 Jun 2021 09:17:37 +0000 (11:17 +0200)
.gitlab-ci.yml

index 13482c379452146f7e1371b6558614585812d7da..7b2bdb0218c418e8bc189541c3b260e2a88f5788 100644 (file)
@@ -25,6 +25,7 @@ stages:
   - respdiff
   - resperf
   - deploy
+  - pkgbuild
   - pkgtest
 
 .common: &common
@@ -495,6 +496,128 @@ 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
@@ -675,4 +798,17 @@ packaging:leap_15.2:
   <<: *packagingtest
   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
 # }}}