[libvirt PATCH 2/4] ci: Refresh generated files

Andrea Bolognani abologna at redhat.com
Thu May 26 09:05:32 UTC 2022


Notable changes:

  * 'lcitool manifest' now generates GitLab CI rules spread
    across a bunch of files;

  * container images are built less frequently for the main
    repository.

Signed-off-by: Andrea Bolognani <abologna at redhat.com>
---
 ci/gitlab.yml                     | 747 +-----------------------------
 ci/gitlab/build-templates.yml     |  45 ++
 ci/gitlab/builds.yml              | 392 ++++++++++++++++
 ci/gitlab/container-templates.yml |  52 +++
 ci/gitlab/containers.yml          | 318 +++++++++++++
 ci/gitlab/sanity-checks.yml       |  18 +
 6 files changed, 831 insertions(+), 741 deletions(-)
 create mode 100644 ci/gitlab/build-templates.yml
 create mode 100644 ci/gitlab/builds.yml
 create mode 100644 ci/gitlab/container-templates.yml
 create mode 100644 ci/gitlab/containers.yml
 create mode 100644 ci/gitlab/sanity-checks.yml

diff --git a/ci/gitlab.yml b/ci/gitlab.yml
index f4e3f189c0..379a41111c 100644
--- a/ci/gitlab.yml
+++ b/ci/gitlab.yml
@@ -4,744 +4,9 @@
 #
 # https://gitlab.com/libvirt/libvirt-ci
 
-
-.container_job:
-  image: docker:stable
-  stage: containers
-  needs: []
-  services:
-    - docker:dind
-  before_script:
-    - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest"
-    - export COMMON_TAG="$CI_REGISTRY/libvirt/libvirt/ci-$NAME:latest"
-    - docker info
-    - docker login registry.gitlab.com -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD"
-  script:
-    - docker pull "$TAG" || docker pull "$COMMON_TAG" || true
-    - docker build --cache-from "$TAG" --cache-from "$COMMON_TAG" --tag "$TAG" -f "ci/containers/$NAME.Dockerfile" ci/containers
-    - docker push "$TAG"
-  after_script:
-    - docker logout
-
-
-.gitlab_native_build_job:
-  image: $CI_REGISTRY_IMAGE/ci-$NAME:latest
-  stage: builds
-
-
-.gitlab_cross_build_job:
-  image: $CI_REGISTRY_IMAGE/ci-$NAME-cross-$CROSS:latest
-  stage: builds
-
-
-.cirrus_build_job:
-  stage: builds
-  image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master
-  needs: []
-  script:
-    - source ci/cirrus/$NAME.vars
-    - sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g"
-          -e "s|[@]CI_COMMIT_REF_NAME@|$CI_COMMIT_REF_NAME|g"
-          -e "s|[@]CI_COMMIT_SHA@|$CI_COMMIT_SHA|g"
-          -e "s|[@]CIRRUS_VM_INSTANCE_TYPE@|$CIRRUS_VM_INSTANCE_TYPE|g"
-          -e "s|[@]CIRRUS_VM_IMAGE_SELECTOR@|$CIRRUS_VM_IMAGE_SELECTOR|g"
-          -e "s|[@]CIRRUS_VM_IMAGE_NAME@|$CIRRUS_VM_IMAGE_NAME|g"
-          -e "s|[@]UPDATE_COMMAND@|$UPDATE_COMMAND|g"
-          -e "s|[@]UPGRADE_COMMAND@|$UPGRADE_COMMAND|g"
-          -e "s|[@]INSTALL_COMMAND@|$INSTALL_COMMAND|g"
-          -e "s|[@]PATH@|$PATH_EXTRA${PATH_EXTRA:+:}\$PATH|g"
-          -e "s|[@]PKG_CONFIG_PATH@|$PKG_CONFIG_PATH|g"
-          -e "s|[@]PKGS@|$PKGS|g"
-          -e "s|[@]MAKE@|$MAKE|g"
-          -e "s|[@]PYTHON@|$PYTHON|g"
-          -e "s|[@]PIP3@|$PIP3|g"
-          -e "s|[@]PYPI_PKGS@|$PYPI_PKGS|g"
-          -e "s|[@]XML_CATALOG_FILES@|$XML_CATALOG_FILES|g"
-      <ci/cirrus/build.yml >ci/cirrus/$NAME.yml
-    - cat ci/cirrus/$NAME.yml
-    - cirrus-run -v --show-build-log always ci/cirrus/$NAME.yml
-  rules:
-    - if: "$CIRRUS_GITHUB_REPO && $CIRRUS_API_TOKEN"
-
-
-check-dco:
-  stage: sanity_checks
-  needs: []
-  image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:master
-  script:
-    - /check-dco libvirt
-  except:
-    variables:
-      - $CI_PROJECT_NAMESPACE == 'libvirt'
-  variables:
-    GIT_DEPTH: 1000
-
-
-# Native container jobs
-
-x86_64-almalinux-8-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: almalinux-8
-
-
-x86_64-alpine-314-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: alpine-314
-
-
-x86_64-alpine-315-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: alpine-315
-
-
-x86_64-alpine-edge-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: alpine-edge
-
-
-x86_64-centos-stream-8-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: centos-stream-8
-
-
-x86_64-centos-stream-9-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: centos-stream-9
-
-
-x86_64-debian-10-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: debian-10
-
-
-x86_64-debian-11-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: debian-11
-
-
-x86_64-debian-sid-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-sid
-
-
-x86_64-fedora-35-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: fedora-35
-
-
-x86_64-fedora-rawhide-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: fedora-rawhide
-
-
-x86_64-opensuse-leap-153-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: opensuse-leap-153
-
-
-x86_64-opensuse-tumbleweed-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: opensuse-tumbleweed
-
-
-x86_64-ubuntu-2004-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: ubuntu-2004
-
-
-x86_64-ubuntu-2204-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: ubuntu-2204
-
-
-
-# Cross container jobs
-
-aarch64-debian-10-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-10-cross-aarch64
-
-
-armv6l-debian-10-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: debian-10-cross-armv6l
-
-
-armv7l-debian-10-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-10-cross-armv7l
-
-
-i686-debian-10-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-10-cross-i686
-
-
-mips-debian-10-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: debian-10-cross-mips
-
-
-mips64el-debian-10-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-10-cross-mips64el
-
-
-mipsel-debian-10-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: debian-10-cross-mipsel
-
-
-ppc64le-debian-10-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-10-cross-ppc64le
-
-
-s390x-debian-10-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-10-cross-s390x
-
-
-aarch64-debian-11-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-11-cross-aarch64
-
-
-armv6l-debian-11-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-11-cross-armv6l
-
-
-armv7l-debian-11-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: debian-11-cross-armv7l
-
-
-i686-debian-11-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-11-cross-i686
-
-
-mips64el-debian-11-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: debian-11-cross-mips64el
-
-
-mipsel-debian-11-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-11-cross-mipsel
-
-
-ppc64le-debian-11-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: debian-11-cross-ppc64le
-
-
-s390x-debian-11-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-11-cross-s390x
-
-
-aarch64-debian-sid-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-sid-cross-aarch64
-
-
-armv6l-debian-sid-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-sid-cross-armv6l
-
-
-armv7l-debian-sid-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-sid-cross-armv7l
-
-
-i686-debian-sid-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-sid-cross-i686
-
-
-mips64el-debian-sid-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-sid-cross-mips64el
-
-
-mipsel-debian-sid-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-sid-cross-mipsel
-
-
-ppc64le-debian-sid-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-sid-cross-ppc64le
-
-
-s390x-debian-sid-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: debian-sid-cross-s390x
-
-
-mingw32-fedora-35-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: fedora-35-cross-mingw32
-
-
-mingw64-fedora-35-container:
-  extends: .container_job
-  allow_failure: false
-  variables:
-    NAME: fedora-35-cross-mingw64
-
-
-mingw32-fedora-rawhide-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: fedora-rawhide-cross-mingw32
-
-
-mingw64-fedora-rawhide-container:
-  extends: .container_job
-  allow_failure: true
-  variables:
-    NAME: fedora-rawhide-cross-mingw64
-
-
-# Native build jobs
-
-x86_64-almalinux-8:
-  extends: .native_build_job
-  needs:
-    - x86_64-almalinux-8-container
-  allow_failure: false
-  variables:
-    NAME: almalinux-8
-    RPM: skip
-
-
-x86_64-almalinux-8-clang:
-  extends: .native_build_job
-  needs:
-    - x86_64-almalinux-8-container
-  allow_failure: false
-  variables:
-    CC: clang
-    NAME: almalinux-8
-    RPM: skip
-
-
-x86_64-alpine-314:
-  extends: .native_build_job
-  needs:
-    - x86_64-alpine-314-container
-  allow_failure: false
-  variables:
-    NAME: alpine-314
-
-
-x86_64-alpine-315:
-  extends: .native_build_job
-  needs:
-    - x86_64-alpine-315-container
-  allow_failure: false
-  variables:
-    NAME: alpine-315
-
-
-x86_64-alpine-edge:
-  extends: .native_build_job
-  needs:
-    - x86_64-alpine-edge-container
-  allow_failure: true
-  variables:
-    NAME: alpine-edge
-
-
-x86_64-centos-stream-8:
-  extends: .native_build_job
-  needs:
-    - x86_64-centos-stream-8-container
-  allow_failure: false
-  variables:
-    NAME: centos-stream-8
-  artifacts:
-    expire_in: 1 day
-    paths:
-      - libvirt-rpms
-
-
-x86_64-centos-stream-9:
-  extends: .native_build_job
-  needs:
-    - x86_64-centos-stream-9-container
-  allow_failure: false
-  variables:
-    NAME: centos-stream-9
-  artifacts:
-    expire_in: 1 day
-    paths:
-      - libvirt-rpms
-
-
-x86_64-debian-10:
-  extends: .native_build_job
-  needs:
-    - x86_64-debian-10-container
-  allow_failure: false
-  variables:
-    NAME: debian-10
-
-
-x86_64-debian-11:
-  extends: .native_build_job
-  needs:
-    - x86_64-debian-11-container
-  allow_failure: false
-  variables:
-    NAME: debian-11
-
-
-x86_64-debian-11-clang:
-  extends: .native_build_job
-  needs:
-    - x86_64-debian-11-container
-  allow_failure: false
-  variables:
-    NAME: debian-11
-
-
-x86_64-debian-sid:
-  extends: .native_build_job
-  needs:
-    - x86_64-debian-sid-container
-  allow_failure: true
-  variables:
-    NAME: debian-sid
-
-
-x86_64-fedora-35:
-  extends: .native_build_job
-  needs:
-    - x86_64-fedora-35-container
-  allow_failure: false
-  variables:
-    NAME: fedora-35
-  artifacts:
-    expire_in: 1 day
-    paths:
-      - libvirt-rpms
-
-
-x86_64-fedora-rawhide:
-  extends: .native_build_job
-  needs:
-    - x86_64-fedora-rawhide-container
-  allow_failure: true
-  variables:
-    NAME: fedora-rawhide
-
-
-x86_64-fedora-rawhide-clang:
-  extends: .native_build_job
-  needs:
-    - x86_64-fedora-rawhide-container
-  allow_failure: true
-  variables:
-    CC: clang
-    NAME: fedora-rawhide
-    RPM: skip
-
-
-x86_64-opensuse-leap-153:
-  extends: .native_build_job
-  needs:
-    - x86_64-opensuse-leap-153-container
-  allow_failure: false
-  variables:
-    NAME: opensuse-leap-153
-    RPM: skip
-
-
-x86_64-opensuse-tumbleweed:
-  extends: .native_build_job
-  needs:
-    - x86_64-opensuse-tumbleweed-container
-  allow_failure: true
-  variables:
-    NAME: opensuse-tumbleweed
-    RPM: skip
-
-
-x86_64-ubuntu-2004:
-  extends: .native_build_job
-  needs:
-    - x86_64-ubuntu-2004-container
-  allow_failure: false
-  variables:
-    NAME: ubuntu-2004
-
-
-x86_64-ubuntu-2204:
-  extends: .native_build_job
-  needs:
-    - x86_64-ubuntu-2204-container
-  allow_failure: false
-  variables:
-    ASAN_OPTIONS: verify_asan_link_order=0
-    MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
-    NAME: ubuntu-2204
-    UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
-
-
-x86_64-ubuntu-2204-clang:
-  extends: .native_build_job
-  needs:
-    - x86_64-ubuntu-2204-container
-  allow_failure: false
-  variables:
-    CC: clang
-    MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
-    NAME: ubuntu-2204
-    UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
-
-
-
-# Cross build jobs
-
-armv6l-debian-10:
-  extends: .cross_build_job
-  needs:
-    - armv6l-debian-10-container
-  allow_failure: false
-  variables:
-    CROSS: armv6l
-    NAME: debian-10
-
-
-mips-debian-10:
-  extends: .cross_build_job
-  needs:
-    - mips-debian-10-container
-  allow_failure: false
-  variables:
-    CROSS: mips
-    NAME: debian-10
-
-
-mipsel-debian-10:
-  extends: .cross_build_job
-  needs:
-    - mipsel-debian-10-container
-  allow_failure: false
-  variables:
-    CROSS: mipsel
-    NAME: debian-10
-
-
-armv7l-debian-11:
-  extends: .cross_build_job
-  needs:
-    - armv7l-debian-11-container
-  allow_failure: false
-  variables:
-    CROSS: armv7l
-    NAME: debian-11
-
-
-mips64el-debian-11:
-  extends: .cross_build_job
-  needs:
-    - mips64el-debian-11-container
-  allow_failure: false
-  variables:
-    CROSS: mips64el
-    NAME: debian-11
-
-
-ppc64le-debian-11:
-  extends: .cross_build_job
-  needs:
-    - ppc64le-debian-11-container
-  allow_failure: false
-  variables:
-    CROSS: ppc64le
-    NAME: debian-11
-
-
-aarch64-debian-sid:
-  extends: .cross_build_job
-  needs:
-    - aarch64-debian-sid-container
-  allow_failure: true
-  variables:
-    CROSS: aarch64
-    NAME: debian-sid
-
-
-i686-debian-sid:
-  extends: .cross_build_job
-  needs:
-    - i686-debian-sid-container
-  allow_failure: true
-  variables:
-    CROSS: i686
-    NAME: debian-sid
-
-
-s390x-debian-sid:
-  extends: .cross_build_job
-  needs:
-    - s390x-debian-sid-container
-  allow_failure: true
-  variables:
-    CROSS: s390x
-    NAME: debian-sid
-
-
-mingw64-fedora-35:
-  extends: .cross_build_job
-  needs:
-    - mingw64-fedora-35-container
-  allow_failure: false
-  variables:
-    CROSS: mingw64
-    NAME: fedora-35
-
-
-mingw32-fedora-rawhide:
-  extends: .cross_build_job
-  needs:
-    - mingw32-fedora-rawhide-container
-  allow_failure: true
-  variables:
-    CROSS: mingw32
-    NAME: fedora-rawhide
-
-
-# Native cirrus build jobs
-
-x86_64-freebsd-12:
-  extends: .cirrus_build_job
-  needs: []
-  allow_failure: false
-  variables:
-    CIRRUS_VM_IMAGE_NAME: freebsd-12-3
-    CIRRUS_VM_IMAGE_SELECTOR: image_family
-    CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
-    INSTALL_COMMAND: pkg install -y
-    NAME: freebsd-12
-    UPDATE_COMMAND: pkg update
-    UPGRADE_COMMAND: pkg upgrade -y
-
-
-x86_64-freebsd-13:
-  extends: .cirrus_build_job
-  needs: []
-  allow_failure: false
-  variables:
-    CIRRUS_VM_IMAGE_NAME: freebsd-13-0
-    CIRRUS_VM_IMAGE_SELECTOR: image_family
-    CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
-    INSTALL_COMMAND: pkg install -y
-    NAME: freebsd-13
-    UPDATE_COMMAND: pkg update
-    UPGRADE_COMMAND: pkg upgrade -y
-
-
-x86_64-macos-11:
-  extends: .cirrus_build_job
-  needs: []
-  allow_failure: false
-  variables:
-    CIRRUS_VM_IMAGE_NAME: big-sur-base
-    CIRRUS_VM_IMAGE_SELECTOR: image
-    CIRRUS_VM_INSTANCE_TYPE: osx_instance
-    INSTALL_COMMAND: brew install
-    NAME: macos-11
-    PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin:/usr/local/opt/rpcgen/bin
-    PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/libpcap/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
-    UPDATE_COMMAND: brew update
-    UPGRADE_COMMAND: brew upgrade
+include:
+  - local: 'ci/gitlab/container-templates.yml'
+  - local: 'ci/gitlab/build-templates.yml'
+  - local: 'ci/gitlab/sanity-checks.yml'
+  - local: 'ci/gitlab/containers.yml'
+  - local: 'ci/gitlab/builds.yml'
diff --git a/ci/gitlab/build-templates.yml b/ci/gitlab/build-templates.yml
new file mode 100644
index 0000000000..446822d5d1
--- /dev/null
+++ b/ci/gitlab/build-templates.yml
@@ -0,0 +1,45 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+
+.gitlab_native_build_job:
+  image: $CI_REGISTRY_IMAGE/ci-$NAME:latest
+  stage: builds
+
+
+.gitlab_cross_build_job:
+  image: $CI_REGISTRY_IMAGE/ci-$NAME-cross-$CROSS:latest
+  stage: builds
+
+
+.cirrus_build_job:
+  stage: builds
+  image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master
+  needs: []
+  script:
+    - source ci/cirrus/$NAME.vars
+    - sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g"
+          -e "s|[@]CI_COMMIT_REF_NAME@|$CI_COMMIT_REF_NAME|g"
+          -e "s|[@]CI_COMMIT_SHA@|$CI_COMMIT_SHA|g"
+          -e "s|[@]CIRRUS_VM_INSTANCE_TYPE@|$CIRRUS_VM_INSTANCE_TYPE|g"
+          -e "s|[@]CIRRUS_VM_IMAGE_SELECTOR@|$CIRRUS_VM_IMAGE_SELECTOR|g"
+          -e "s|[@]CIRRUS_VM_IMAGE_NAME@|$CIRRUS_VM_IMAGE_NAME|g"
+          -e "s|[@]UPDATE_COMMAND@|$UPDATE_COMMAND|g"
+          -e "s|[@]UPGRADE_COMMAND@|$UPGRADE_COMMAND|g"
+          -e "s|[@]INSTALL_COMMAND@|$INSTALL_COMMAND|g"
+          -e "s|[@]PATH@|$PATH_EXTRA${PATH_EXTRA:+:}\$PATH|g"
+          -e "s|[@]PKG_CONFIG_PATH@|$PKG_CONFIG_PATH|g"
+          -e "s|[@]PKGS@|$PKGS|g"
+          -e "s|[@]MAKE@|$MAKE|g"
+          -e "s|[@]PYTHON@|$PYTHON|g"
+          -e "s|[@]PIP3@|$PIP3|g"
+          -e "s|[@]PYPI_PKGS@|$PYPI_PKGS|g"
+          -e "s|[@]XML_CATALOG_FILES@|$XML_CATALOG_FILES|g"
+      <ci/cirrus/build.yml >ci/cirrus/$NAME.yml
+    - cat ci/cirrus/$NAME.yml
+    - cirrus-run -v --show-build-log always ci/cirrus/$NAME.yml
+  rules:
+    - if: "$CIRRUS_GITHUB_REPO && $CIRRUS_API_TOKEN"
diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml
new file mode 100644
index 0000000000..8d8ac7bc8a
--- /dev/null
+++ b/ci/gitlab/builds.yml
@@ -0,0 +1,392 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+
+# Native build jobs
+
+x86_64-almalinux-8:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-almalinux-8-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: almalinux-8
+    RPM: skip
+
+
+x86_64-almalinux-8-clang:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-almalinux-8-container
+      optional: true
+  allow_failure: false
+  variables:
+    CC: clang
+    NAME: almalinux-8
+    RPM: skip
+
+
+x86_64-alpine-314:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-alpine-314-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: alpine-314
+
+
+x86_64-alpine-315:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-alpine-315-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: alpine-315
+
+
+x86_64-alpine-edge:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-alpine-edge-container
+      optional: true
+  allow_failure: true
+  variables:
+    NAME: alpine-edge
+
+
+x86_64-centos-stream-8:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-centos-stream-8-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: centos-stream-8
+  artifacts:
+    expire_in: 1 day
+    paths:
+      - libvirt-rpms
+
+
+x86_64-centos-stream-9:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-centos-stream-9-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: centos-stream-9
+  artifacts:
+    expire_in: 1 day
+    paths:
+      - libvirt-rpms
+
+
+x86_64-debian-10:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-debian-10-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: debian-10
+
+
+x86_64-debian-11:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-debian-11-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: debian-11
+
+
+x86_64-debian-11-clang:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-debian-11-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: debian-11
+
+
+x86_64-debian-sid:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-debian-sid-container
+      optional: true
+  allow_failure: true
+  variables:
+    NAME: debian-sid
+
+
+x86_64-fedora-35:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-fedora-35-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: fedora-35
+  artifacts:
+    expire_in: 1 day
+    paths:
+      - libvirt-rpms
+
+
+x86_64-fedora-rawhide:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-fedora-rawhide-container
+      optional: true
+  allow_failure: true
+  variables:
+    NAME: fedora-rawhide
+
+
+x86_64-fedora-rawhide-clang:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-fedora-rawhide-container
+      optional: true
+  allow_failure: true
+  variables:
+    CC: clang
+    NAME: fedora-rawhide
+    RPM: skip
+
+
+x86_64-opensuse-leap-153:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-opensuse-leap-153-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: opensuse-leap-153
+    RPM: skip
+
+
+x86_64-opensuse-tumbleweed:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-opensuse-tumbleweed-container
+      optional: true
+  allow_failure: true
+  variables:
+    NAME: opensuse-tumbleweed
+    RPM: skip
+
+
+x86_64-ubuntu-2004:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-ubuntu-2004-container
+      optional: true
+  allow_failure: false
+  variables:
+    NAME: ubuntu-2004
+
+
+x86_64-ubuntu-2204:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-ubuntu-2204-container
+      optional: true
+  allow_failure: false
+  variables:
+    ASAN_OPTIONS: verify_asan_link_order=0
+    MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
+    NAME: ubuntu-2204
+    UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
+
+
+x86_64-ubuntu-2204-clang:
+  extends: .native_build_job
+  needs:
+    - job: x86_64-ubuntu-2204-container
+      optional: true
+  allow_failure: false
+  variables:
+    CC: clang
+    MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
+    NAME: ubuntu-2204
+    UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
+
+
+
+# Cross build jobs
+
+armv6l-debian-10:
+  extends: .cross_build_job
+  needs:
+    - job: armv6l-debian-10-container
+      optional: true
+  allow_failure: false
+  variables:
+    CROSS: armv6l
+    NAME: debian-10
+
+
+mips-debian-10:
+  extends: .cross_build_job
+  needs:
+    - job: mips-debian-10-container
+      optional: true
+  allow_failure: false
+  variables:
+    CROSS: mips
+    NAME: debian-10
+
+
+mipsel-debian-10:
+  extends: .cross_build_job
+  needs:
+    - job: mipsel-debian-10-container
+      optional: true
+  allow_failure: false
+  variables:
+    CROSS: mipsel
+    NAME: debian-10
+
+
+armv7l-debian-11:
+  extends: .cross_build_job
+  needs:
+    - job: armv7l-debian-11-container
+      optional: true
+  allow_failure: false
+  variables:
+    CROSS: armv7l
+    NAME: debian-11
+
+
+mips64el-debian-11:
+  extends: .cross_build_job
+  needs:
+    - job: mips64el-debian-11-container
+      optional: true
+  allow_failure: false
+  variables:
+    CROSS: mips64el
+    NAME: debian-11
+
+
+ppc64le-debian-11:
+  extends: .cross_build_job
+  needs:
+    - job: ppc64le-debian-11-container
+      optional: true
+  allow_failure: false
+  variables:
+    CROSS: ppc64le
+    NAME: debian-11
+
+
+aarch64-debian-sid:
+  extends: .cross_build_job
+  needs:
+    - job: aarch64-debian-sid-container
+      optional: true
+  allow_failure: true
+  variables:
+    CROSS: aarch64
+    NAME: debian-sid
+
+
+i686-debian-sid:
+  extends: .cross_build_job
+  needs:
+    - job: i686-debian-sid-container
+      optional: true
+  allow_failure: true
+  variables:
+    CROSS: i686
+    NAME: debian-sid
+
+
+s390x-debian-sid:
+  extends: .cross_build_job
+  needs:
+    - job: s390x-debian-sid-container
+      optional: true
+  allow_failure: true
+  variables:
+    CROSS: s390x
+    NAME: debian-sid
+
+
+mingw64-fedora-35:
+  extends: .cross_build_job
+  needs:
+    - job: mingw64-fedora-35-container
+      optional: true
+  allow_failure: false
+  variables:
+    CROSS: mingw64
+    NAME: fedora-35
+
+
+mingw32-fedora-rawhide:
+  extends: .cross_build_job
+  needs:
+    - job: mingw32-fedora-rawhide-container
+      optional: true
+  allow_failure: true
+  variables:
+    CROSS: mingw32
+    NAME: fedora-rawhide
+
+
+# Native cirrus build jobs
+
+x86_64-freebsd-12:
+  extends: .cirrus_build_job
+  needs: []
+  allow_failure: false
+  variables:
+    CIRRUS_VM_IMAGE_NAME: freebsd-12-3
+    CIRRUS_VM_IMAGE_SELECTOR: image_family
+    CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
+    INSTALL_COMMAND: pkg install -y
+    NAME: freebsd-12
+    UPDATE_COMMAND: pkg update
+    UPGRADE_COMMAND: pkg upgrade -y
+
+
+x86_64-freebsd-13:
+  extends: .cirrus_build_job
+  needs: []
+  allow_failure: false
+  variables:
+    CIRRUS_VM_IMAGE_NAME: freebsd-13-0
+    CIRRUS_VM_IMAGE_SELECTOR: image_family
+    CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
+    INSTALL_COMMAND: pkg install -y
+    NAME: freebsd-13
+    UPDATE_COMMAND: pkg update
+    UPGRADE_COMMAND: pkg upgrade -y
+
+
+x86_64-macos-11:
+  extends: .cirrus_build_job
+  needs: []
+  allow_failure: false
+  variables:
+    CIRRUS_VM_IMAGE_NAME: big-sur-base
+    CIRRUS_VM_IMAGE_SELECTOR: image
+    CIRRUS_VM_INSTANCE_TYPE: osx_instance
+    INSTALL_COMMAND: brew install
+    NAME: macos-11
+    PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin:/usr/local/opt/rpcgen/bin
+    PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/libpcap/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
+    UPDATE_COMMAND: brew update
+    UPGRADE_COMMAND: brew upgrade
diff --git a/ci/gitlab/container-templates.yml b/ci/gitlab/container-templates.yml
new file mode 100644
index 0000000000..4cd28af8a9
--- /dev/null
+++ b/ci/gitlab/container-templates.yml
@@ -0,0 +1,52 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+
+# For upstream
+#
+#   - Push to default branch:
+#       -> rebuild if dockerfile changed, no cache
+#   - Otherwise
+#       -> rebuild if LIBVIRT_CI_CONTAINERS=1, no cache,
+#          to pick up new published distro packages or
+#          recover from deleted tag
+#
+# For forks
+#   - Always rebuild, with cache
+#
+.container_job:
+  image: docker:stable
+  stage: containers
+  needs: []
+  services:
+    - docker:dind
+  before_script:
+    - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest"
+    - export COMMON_TAG="$CI_REGISTRY/libvirt/libvirt/ci-$NAME:latest"
+    - docker info
+    - docker login "$CI_REGISTRY" -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD"
+  script:
+    - if test $CI_PROJECT_NAMESPACE = "libvirt";
+      then
+        docker build --tag "$TAG" -f "ci/containers/$NAME.Dockerfile" ci/containers ;
+      else
+        docker pull "$TAG" || docker pull "$COMMON_TAG" || true ;
+        docker build --cache-from "$TAG" --cache-from "$COMMON_TAG" --tag "$TAG" -f "ci/containers/$NAME.Dockerfile" ci/containers ;
+      fi
+    - docker push "$TAG"
+  after_script:
+    - docker logout
+  rules:
+    - if: '$CI_PROJECT_NAMESPACE == "libvirt" && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
+      when: on_success
+      changes:
+       - ci/gitlab/container-templates.yml
+       - ci/containers/$NAME.Dockerfile
+    - if: '$CI_PROJECT_NAMESPACE == "libvirt" && $LIBVIRT_CI_CONTAINERS == "1"'
+      when: on_success
+    - if: '$CI_PROJECT_NAMESPACE == "libvirt"'
+      when: never
+    - when: on_success
diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml
new file mode 100644
index 0000000000..12ab6e4808
--- /dev/null
+++ b/ci/gitlab/containers.yml
@@ -0,0 +1,318 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+
+# Native container jobs
+
+x86_64-almalinux-8-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: almalinux-8
+
+
+x86_64-alpine-314-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: alpine-314
+
+
+x86_64-alpine-315-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: alpine-315
+
+
+x86_64-alpine-edge-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: alpine-edge
+
+
+x86_64-centos-stream-8-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: centos-stream-8
+
+
+x86_64-centos-stream-9-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: centos-stream-9
+
+
+x86_64-debian-10-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: debian-10
+
+
+x86_64-debian-11-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: debian-11
+
+
+x86_64-debian-sid-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-sid
+
+
+x86_64-fedora-35-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: fedora-35
+
+
+x86_64-fedora-rawhide-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: fedora-rawhide
+
+
+x86_64-opensuse-leap-153-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: opensuse-leap-153
+
+
+x86_64-opensuse-tumbleweed-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: opensuse-tumbleweed
+
+
+x86_64-ubuntu-2004-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: ubuntu-2004
+
+
+x86_64-ubuntu-2204-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: ubuntu-2204
+
+
+
+# Cross container jobs
+
+aarch64-debian-10-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-10-cross-aarch64
+
+
+armv6l-debian-10-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: debian-10-cross-armv6l
+
+
+armv7l-debian-10-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-10-cross-armv7l
+
+
+i686-debian-10-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-10-cross-i686
+
+
+mips-debian-10-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: debian-10-cross-mips
+
+
+mips64el-debian-10-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-10-cross-mips64el
+
+
+mipsel-debian-10-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: debian-10-cross-mipsel
+
+
+ppc64le-debian-10-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-10-cross-ppc64le
+
+
+s390x-debian-10-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-10-cross-s390x
+
+
+aarch64-debian-11-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-11-cross-aarch64
+
+
+armv6l-debian-11-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-11-cross-armv6l
+
+
+armv7l-debian-11-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: debian-11-cross-armv7l
+
+
+i686-debian-11-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-11-cross-i686
+
+
+mips64el-debian-11-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: debian-11-cross-mips64el
+
+
+mipsel-debian-11-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-11-cross-mipsel
+
+
+ppc64le-debian-11-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: debian-11-cross-ppc64le
+
+
+s390x-debian-11-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-11-cross-s390x
+
+
+aarch64-debian-sid-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-sid-cross-aarch64
+
+
+armv6l-debian-sid-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-sid-cross-armv6l
+
+
+armv7l-debian-sid-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-sid-cross-armv7l
+
+
+i686-debian-sid-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-sid-cross-i686
+
+
+mips64el-debian-sid-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-sid-cross-mips64el
+
+
+mipsel-debian-sid-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-sid-cross-mipsel
+
+
+ppc64le-debian-sid-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-sid-cross-ppc64le
+
+
+s390x-debian-sid-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: debian-sid-cross-s390x
+
+
+mingw32-fedora-35-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: fedora-35-cross-mingw32
+
+
+mingw64-fedora-35-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: fedora-35-cross-mingw64
+
+
+mingw32-fedora-rawhide-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: fedora-rawhide-cross-mingw32
+
+
+mingw64-fedora-rawhide-container:
+  extends: .container_job
+  allow_failure: true
+  variables:
+    NAME: fedora-rawhide-cross-mingw64
diff --git a/ci/gitlab/sanity-checks.yml b/ci/gitlab/sanity-checks.yml
new file mode 100644
index 0000000000..90f6ff8205
--- /dev/null
+++ b/ci/gitlab/sanity-checks.yml
@@ -0,0 +1,18 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+
+check-dco:
+  stage: sanity_checks
+  needs: []
+  image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:master
+  script:
+    - /check-dco libvirt
+  except:
+    variables:
+      - $CI_PROJECT_NAMESPACE == 'libvirt'
+  variables:
+    GIT_DEPTH: 1000
-- 
2.35.3



More information about the libvir-list mailing list