[Libguestfs] [libnbd PATCH] ci: Adopt libvirt-ci's manifest approach
Richard W.M. Jones
rjones at redhat.com
Thu Sep 23 14:43:17 UTC 2021
On Thu, Sep 23, 2021 at 04:40:59PM +0200, Martin Kletzander wrote:
> This makes it a bit easier to write .gitlab-ci.yml as it inherits most of what
> can be generated from the ci/gitlab.yml and deprecates the ci/refresh script.
>
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
Looks fine, ACK
Just missed 1.10 by about 15 minutes :-)
Rich.
> .gitlab-ci.yml | 270 +-----------
> ci/README.rst | 7 +-
> ci/cirrus/freebsd-12.vars | 2 +-
> ci/cirrus/freebsd-13.vars | 2 +-
> ci/cirrus/freebsd-current.vars | 2 +-
> ci/cirrus/macos-11.vars | 2 +-
> ci/containers/alpine-314.Dockerfile | 2 +-
> ci/containers/alpine-edge.Dockerfile | 2 +-
> ci/containers/centos-8.Dockerfile | 2 +-
> ci/containers/centos-stream-8.Dockerfile | 2 +-
> ci/containers/debian-10-cross-i686.Dockerfile | 2 +-
> ci/containers/debian-10.Dockerfile | 2 +-
> ci/containers/debian-11-cross-i686.Dockerfile | 2 +-
> ci/containers/debian-11.Dockerfile | 2 +-
> ci/containers/debian-sid.Dockerfile | 2 +-
> ci/containers/fedora-33.Dockerfile | 2 +-
> ci/containers/fedora-34-cross-i686.Dockerfile | 0
> ci/containers/fedora-34.Dockerfile | 2 +-
> ci/containers/fedora-rawhide.Dockerfile | 2 +-
> ci/containers/opensuse-leap-152.Dockerfile | 2 +-
> ci/containers/opensuse-tumbleweed.Dockerfile | 2 +-
> ci/containers/ubuntu-1804.Dockerfile | 2 +-
> ci/containers/ubuntu-2004.Dockerfile | 2 +-
> ci/gitlab.yml | 413 ++++++++++++++++++
> ci/manifest.yml | 72 +++
> ci/refresh | 33 --
> 26 files changed, 520 insertions(+), 315 deletions(-)
> delete mode 100644 ci/containers/fedora-34-cross-i686.Dockerfile
> create mode 100644 ci/gitlab.yml
> create mode 100644 ci/manifest.yml
> delete mode 100755 ci/refresh
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 8976015b1e20..122bc0860178 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -13,30 +13,10 @@ stages:
> export CCACHE_MAXSIZE="500M"
> export PATH="$CCACHE_WRAPPERSDIR:$PATH"
>
> -# Common templates
> -
> -.container_job:
> - image: docker:stable
> - stage: containers
> - needs: []
> - services:
> - - name: registry.gitlab.com/libvirt/libvirt-ci/docker-dind:master
> - alias: docker
> - before_script:
> - - export TAG="$CI_REGISTRY_IMAGE/$NAME:latest"
> - - export COMMON_TAG="$CI_REGISTRY/nbdkit/libnbd/$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
> +include: '/ci/gitlab.yml'
>
> .base_build_job:
> stage: builds
> - image: $CI_REGISTRY_IMAGE/$NAME:latest
> cache:
> paths:
> - ccache/
> @@ -52,6 +32,16 @@ stages:
> public: true
> when: always
>
> +.native_build_job:
> + extends:
> + - .base_build_job
> + - .gitlab_native_build_job
> +
> +.cross_build_job:
> + extends:
> + - .base_build_job
> + - .gitlab_cross_build_job
> +
> # Jobs that we delegate to Cirrus CI because they require an operating
> # system other than Linux. These jobs will only run if the required
> # setup has been performed on the GitLab account (see ci/README.rst).
> @@ -91,241 +81,3 @@ stages:
> - cirrus-run -v --show-build-log always ci/cirrus/$NAME.yml
> rules:
> - if: "$CIRRUS_GITHUB_REPO && $CIRRUS_API_TOKEN"
> -
> -# Cross-compilation container build jobs
> -i686-debian-10-container:
> - extends: .container_job
> - variables:
> - NAME: debian-10-cross-i686
> -
> -i686-debian-11-container:
> - extends: .container_job
> - variables:
> - NAME: debian-11-cross-i686
> -
> -# Native container build jobs
> -x64-alpine-314-container:
> - extends: .container_job
> - variables:
> - NAME: alpine-314
> -
> -x64-alpine-edge-container:
> - extends: .container_job
> - variables:
> - NAME: alpine-edge
> -
> -x64-centos-8-container:
> - extends: .container_job
> - variables:
> - NAME: centos-8
> -
> -x64-centos-stream-8-container:
> - extends: .container_job
> - variables:
> - NAME: centos-stream-8
> -
> -x64-debian-11-container:
> - extends: .container_job
> - variables:
> - NAME: debian-11
> -
> -x64-debian-sid-container:
> - extends: .container_job
> - variables:
> - NAME: debian-sid
> -
> -x64-fedora-33-container:
> - extends: .container_job
> - variables:
> - NAME: fedora-33
> -
> -x64-fedora-34-container:
> - extends: .container_job
> - variables:
> - NAME: fedora-34
> -
> -x64-fedora-rawhide-container:
> - extends: .container_job
> - allow_failure: true
> - variables:
> - NAME: fedora-rawhide
> -
> -x64-opensuse-leap-152-container:
> - extends: .container_job
> - variables:
> - NAME: opensuse-leap-152
> -
> -x64-opensuse-tumbleweed-container:
> - extends: .container_job
> - variables:
> - NAME: opensuse-tumbleweed
> -
> -x64-ubuntu-1804-container:
> - extends: .container_job
> - variables:
> - NAME: ubuntu-1804
> -
> -x64-ubuntu-2004-container:
> - extends: .container_job
> - variables:
> - NAME: ubuntu-2004
> -
> -# Cross-compilation build jobs
> -i686-debian-10:
> - extends: .base_build_job
> - needs:
> - - i686-debian-10-container
> - variables:
> - NAME: debian-10-cross-i686
> - CROSS: i686
> -
> -i686-debian-11:
> - extends: .base_build_job
> - needs:
> - - i686-debian-11-container
> - variables:
> - NAME: debian-11-cross-i686
> - CROSS: i686
> -
> -# Native architecture build + test jobs
> -x64-debian-11:
> - extends: .base_build_job
> - needs:
> - - x64-debian-11-container
> - variables:
> - NAME: debian-11
> -
> -x64-debian-sid:
> - extends: .base_build_job
> - needs:
> - - x64-debian-sid-container
> - variables:
> - NAME: debian-sid
> -
> -x64-centos-8:
> - extends: .base_build_job
> - needs:
> - - x64-centos-8-container
> - variables:
> - NAME: centos-8
> -
> -x64-alpine-314:
> - extends: .base_build_job
> - needs:
> - - x64-alpine-314-container
> - variables:
> - NAME: alpine-314
> -
> -x64-alpine-edge:
> - extends: .base_build_job
> - needs:
> - - x64-alpine-edge-container
> - variables:
> - NAME: alpine-edge
> -
> -x64-centos-8-clang:
> - extends: .base_build_job
> - needs:
> - - x64-centos-8-container
> - variables:
> - NAME: centos-8
> - CC: clang
> -
> -x64-centos-stream-8:
> - extends: .base_build_job
> - needs:
> - - x64-centos-stream-8-container
> - variables:
> - NAME: centos-stream-8
> -
> -x64-fedora-33:
> - extends: .base_build_job
> - needs:
> - - x64-fedora-33-container
> - variables:
> - NAME: fedora-33
> -
> -x64-fedora-34:
> - extends: .base_build_job
> - needs:
> - - x64-fedora-34-container
> - variables:
> - NAME: fedora-34
> -
> -x64-fedora-rawhide:
> - extends: .base_build_job
> - needs:
> - - x64-fedora-rawhide-container
> - variables:
> - NAME: fedora-rawhide
> -
> -x64-fedora-rawhide-clang:
> - extends: .base_build_job
> - needs:
> - - x64-fedora-rawhide-container
> - variables:
> - NAME: fedora-rawhide
> - CC: clang
> -
> -x64-opensuse-leap-152:
> - extends: .base_build_job
> - needs:
> - - x64-opensuse-leap-152-container
> - variables:
> - NAME: opensuse-leap-152
> -
> -x64-opensuse-tumbleweed:
> - extends: .base_build_job
> - needs:
> - - x64-opensuse-tumbleweed-container
> - variables:
> - NAME: opensuse-tumbleweed
> -
> -x64-ubuntu-1804:
> - extends: .base_build_job
> - needs:
> - - x64-ubuntu-1804-container
> - variables:
> - NAME: ubuntu-1804
> - GOLANG: skip
> -
> -x64-ubuntu-2004:
> - extends: .base_build_job
> - needs:
> - - x64-ubuntu-2004-container
> - variables:
> - NAME: ubuntu-2004
> -
> -x64-freebsd-12-build:
> - extends: .cirrus_build_job
> - variables:
> - NAME: freebsd-12
> - CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
> - CIRRUS_VM_IMAGE_SELECTOR: image_family
> - CIRRUS_VM_IMAGE_NAME: freebsd-12-2
> - UPDATE_COMMAND: pkg update
> - INSTALL_COMMAND: pkg install -y
> -
> -x64-freebsd-13-build:
> - extends: .cirrus_build_job
> - variables:
> - NAME: freebsd-13
> - CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
> - CIRRUS_VM_IMAGE_SELECTOR: image_family
> - CIRRUS_VM_IMAGE_NAME: freebsd-13-0
> - UPDATE_COMMAND: pkg update
> - INSTALL_COMMAND: pkg install -y
> -
> -x64-macos-11-build:
> - extends: .cirrus_build_job
> - allow_failure: true
> - variables:
> - NAME: macos-11
> - CIRRUS_VM_INSTANCE_TYPE: osx_instance
> - CIRRUS_VM_IMAGE_SELECTOR: image
> - CIRRUS_VM_IMAGE_NAME: big-sur-base
> - UPDATE_COMMAND: brew update
> - UPGRADE_COMMAND: brew upgrade
> - INSTALL_COMMAND: brew install
> - 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
> diff --git a/ci/README.rst b/ci/README.rst
> index c1c97362e41f..3d11e3a4d8bc 100644
> --- a/ci/README.rst
> +++ b/ci/README.rst
> @@ -35,9 +35,10 @@ Container images are prepared during the build and cached, so that they do not
> need to be rebuilt for every run, or even built from scratch when changed
> slightly. The cached container images can be deleted at any time as they will
> be correctly rebuilt in case of a cache miss. The Dockerfiles are generated
> -using ``lcitool`` and stored under ``ci/containers``. In that directory is also
> -a ``refresh`` script which can regenerate those files, for example after an
> -update to libvirt-ci (e.g. when adding a new dependency).
> +using ``lcitool`` and stored under ``ci/containers``. In order to update the
> +files one needs to run ``lcitool manifest ci/manifest.yml`` from the root of the
> +git repository, for example after an update to libvirt-ci (e.g. when adding a
> +new dependency).
>
> Recreating the builds locally is pretty straightforward. Choose a file from
> ``ci/containers`` which represents the desired setup. In this example let's
> diff --git a/ci/cirrus/freebsd-12.vars b/ci/cirrus/freebsd-12.vars
> index 2573de241849..6f2b76ce5d11 100644
> --- a/ci/cirrus/freebsd-12.vars
> +++ b/ci/cirrus/freebsd-12.vars
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool variables freebsd-12 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/cirrus/freebsd-13.vars b/ci/cirrus/freebsd-13.vars
> index 40e8ddd43e49..6f2b76ce5d11 100644
> --- a/ci/cirrus/freebsd-13.vars
> +++ b/ci/cirrus/freebsd-13.vars
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool variables freebsd-13 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/cirrus/freebsd-current.vars b/ci/cirrus/freebsd-current.vars
> index 73dff989ffb4..6f2b76ce5d11 100644
> --- a/ci/cirrus/freebsd-current.vars
> +++ b/ci/cirrus/freebsd-current.vars
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool variables freebsd-current libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/cirrus/macos-11.vars b/ci/cirrus/macos-11.vars
> index eae75535a960..89bda78fd154 100644
> --- a/ci/cirrus/macos-11.vars
> +++ b/ci/cirrus/macos-11.vars
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool variables macos-11 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/alpine-314.Dockerfile b/ci/containers/alpine-314.Dockerfile
> index 0fb954abb66b..82960f71ecff 100644
> --- a/ci/containers/alpine-314.Dockerfile
> +++ b/ci/containers/alpine-314.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile alpine-314 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/alpine-edge.Dockerfile b/ci/containers/alpine-edge.Dockerfile
> index e27775d647fb..3e9fbfa223eb 100644
> --- a/ci/containers/alpine-edge.Dockerfile
> +++ b/ci/containers/alpine-edge.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile alpine-edge libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/centos-8.Dockerfile b/ci/containers/centos-8.Dockerfile
> index 1e05d4cda98a..d46b428f726c 100644
> --- a/ci/containers/centos-8.Dockerfile
> +++ b/ci/containers/centos-8.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile centos-8 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/centos-stream-8.Dockerfile b/ci/containers/centos-stream-8.Dockerfile
> index 8f2dff57b3a3..613d05d6ec0c 100644
> --- a/ci/containers/centos-stream-8.Dockerfile
> +++ b/ci/containers/centos-stream-8.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile centos-stream-8 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/debian-10-cross-i686.Dockerfile b/ci/containers/debian-10-cross-i686.Dockerfile
> index c7c8dca8df4e..5641f58b71fe 100644
> --- a/ci/containers/debian-10-cross-i686.Dockerfile
> +++ b/ci/containers/debian-10-cross-i686.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile --cross i686 debian-10 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/debian-10.Dockerfile b/ci/containers/debian-10.Dockerfile
> index fbea28350a06..6cc51ec44de2 100644
> --- a/ci/containers/debian-10.Dockerfile
> +++ b/ci/containers/debian-10.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile debian-10 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/debian-11-cross-i686.Dockerfile b/ci/containers/debian-11-cross-i686.Dockerfile
> index e0d4fc15961d..fe19aa21c2ed 100644
> --- a/ci/containers/debian-11-cross-i686.Dockerfile
> +++ b/ci/containers/debian-11-cross-i686.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile --cross i686 debian-11 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/debian-11.Dockerfile b/ci/containers/debian-11.Dockerfile
> index c817870daa73..cb52e7eb4db3 100644
> --- a/ci/containers/debian-11.Dockerfile
> +++ b/ci/containers/debian-11.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile debian-11 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/debian-sid.Dockerfile b/ci/containers/debian-sid.Dockerfile
> index 909b772c473f..e5a3b663b105 100644
> --- a/ci/containers/debian-sid.Dockerfile
> +++ b/ci/containers/debian-sid.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile debian-sid libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/fedora-33.Dockerfile b/ci/containers/fedora-33.Dockerfile
> index 353aa0d1e789..9c0bfa954182 100644
> --- a/ci/containers/fedora-33.Dockerfile
> +++ b/ci/containers/fedora-33.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile fedora-33 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/fedora-34-cross-i686.Dockerfile b/ci/containers/fedora-34-cross-i686.Dockerfile
> deleted file mode 100644
> index e69de29bb2d1..000000000000
> diff --git a/ci/containers/fedora-34.Dockerfile b/ci/containers/fedora-34.Dockerfile
> index 35d84cc3e0f2..b3f57abfd096 100644
> --- a/ci/containers/fedora-34.Dockerfile
> +++ b/ci/containers/fedora-34.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile fedora-34 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/fedora-rawhide.Dockerfile b/ci/containers/fedora-rawhide.Dockerfile
> index acbb61f0e74a..49c3e69cc7d6 100644
> --- a/ci/containers/fedora-rawhide.Dockerfile
> +++ b/ci/containers/fedora-rawhide.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile fedora-rawhide libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/opensuse-leap-152.Dockerfile b/ci/containers/opensuse-leap-152.Dockerfile
> index 050ec442151e..330399253786 100644
> --- a/ci/containers/opensuse-leap-152.Dockerfile
> +++ b/ci/containers/opensuse-leap-152.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile opensuse-leap-152 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/opensuse-tumbleweed.Dockerfile b/ci/containers/opensuse-tumbleweed.Dockerfile
> index bbcdd3220094..96d4298a5db1 100644
> --- a/ci/containers/opensuse-tumbleweed.Dockerfile
> +++ b/ci/containers/opensuse-tumbleweed.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile opensuse-tumbleweed libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/ubuntu-1804.Dockerfile b/ci/containers/ubuntu-1804.Dockerfile
> index 72dc53b39c13..a172a0cbac4e 100644
> --- a/ci/containers/ubuntu-1804.Dockerfile
> +++ b/ci/containers/ubuntu-1804.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile ubuntu-1804 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/containers/ubuntu-2004.Dockerfile b/ci/containers/ubuntu-2004.Dockerfile
> index 6a11fae8d27c..88ea6cfe70dd 100644
> --- a/ci/containers/ubuntu-2004.Dockerfile
> +++ b/ci/containers/ubuntu-2004.Dockerfile
> @@ -1,6 +1,6 @@
> # THIS FILE WAS AUTO-GENERATED
> #
> -# $ lcitool dockerfile ubuntu-2004 libnbd
> +# $ lcitool manifest ci/manifest.yml
> #
> # https://gitlab.com/libvirt/libvirt-ci
>
> diff --git a/ci/gitlab.yml b/ci/gitlab.yml
> new file mode 100644
> index 000000000000..df3f68ad5587
> --- /dev/null
> +++ b/ci/gitlab.yml
> @@ -0,0 +1,413 @@
> +# THIS FILE WAS AUTO-GENERATED
> +#
> +# $ lcitool manifest ci/manifest.yml
> +#
> +# https://gitlab.com/libvirt/libvirt-ci
> +
> +
> +.container_job:
> + image: docker:stable
> + stage: containers
> + needs: []
> + services:
> + - name: registry.gitlab.com/libvirt/libvirt-ci/docker-dind:master
> + alias: docker
> + before_script:
> + - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest"
> + - export COMMON_TAG="$CI_REGISTRY/nbdkit/libnbd/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"
> +
> +
> +# Native container jobs
> +
> +x86_64-alpine-314-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: alpine-314
> +
> +
> +x86_64-alpine-edge-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: alpine-edge
> +
> +
> +x86_64-centos-8-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: centos-8
> +
> +
> +x86_64-centos-stream-8-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: centos-stream-8
> +
> +
> +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: false
> + variables:
> + NAME: debian-sid
> +
> +
> +x86_64-fedora-33-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: fedora-33
> +
> +
> +x86_64-fedora-34-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: fedora-34
> +
> +
> +x86_64-fedora-rawhide-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: fedora-rawhide
> +
> +
> +x86_64-opensuse-leap-152-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: opensuse-leap-152
> +
> +
> +x86_64-opensuse-tumbleweed-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: opensuse-tumbleweed
> +
> +
> +x86_64-ubuntu-1804-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: ubuntu-1804
> +
> +
> +x86_64-ubuntu-2004-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: ubuntu-2004
> +
> +
> +
> +# Cross container jobs
> +
> +i686-debian-10-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: debian-10-cross-i686
> +
> +
> +i686-debian-11-container:
> + extends: .container_job
> + allow_failure: false
> + variables:
> + NAME: debian-11-cross-i686
> +
> +
> +# Native build jobs
> +
> +x86_64-alpine-314:
> + extends: .native_build_job
> + needs:
> + - x86_64-alpine-314-container
> + allow_failure: false
> + variables:
> + NAME: alpine-314
> +
> +
> +x86_64-alpine-edge:
> + extends: .native_build_job
> + needs:
> + - x86_64-alpine-edge-container
> + allow_failure: false
> + variables:
> + NAME: alpine-edge
> +
> +
> +x86_64-centos-8:
> + extends: .native_build_job
> + needs:
> + - x86_64-centos-8-container
> + allow_failure: false
> + variables:
> + NAME: centos-8
> +
> +
> +x86_64-centos-8-clang:
> + extends: .native_build_job
> + needs:
> + - x86_64-centos-8-container
> + allow_failure: false
> + variables:
> + NAME: centos-8
> + CC: clang
> +
> +
> +x86_64-centos-stream-8:
> + extends: .native_build_job
> + needs:
> + - x86_64-centos-stream-8-container
> + allow_failure: false
> + variables:
> + NAME: centos-stream-8
> +
> +
> +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-sid:
> + extends: .native_build_job
> + needs:
> + - x86_64-debian-sid-container
> + allow_failure: false
> + variables:
> + NAME: debian-sid
> +
> +
> +x86_64-fedora-33:
> + extends: .native_build_job
> + needs:
> + - x86_64-fedora-33-container
> + allow_failure: false
> + variables:
> + NAME: fedora-33
> +
> +
> +x86_64-fedora-34:
> + extends: .native_build_job
> + needs:
> + - x86_64-fedora-34-container
> + allow_failure: false
> + variables:
> + NAME: fedora-34
> +
> +
> +x86_64-fedora-rawhide:
> + extends: .native_build_job
> + needs:
> + - x86_64-fedora-rawhide-container
> + allow_failure: false
> + variables:
> + NAME: fedora-rawhide
> +
> +
> +x86_64-fedora-rawhide-clang:
> + extends: .native_build_job
> + needs:
> + - x86_64-fedora-rawhide-container
> + allow_failure: false
> + variables:
> + NAME: fedora-rawhide
> + CC: clang
> +
> +
> +x86_64-opensuse-leap-152:
> + extends: .native_build_job
> + needs:
> + - x86_64-opensuse-leap-152-container
> + allow_failure: false
> + variables:
> + NAME: opensuse-leap-152
> +
> +
> +x86_64-opensuse-tumbleweed:
> + extends: .native_build_job
> + needs:
> + - x86_64-opensuse-tumbleweed-container
> + allow_failure: false
> + variables:
> + NAME: opensuse-tumbleweed
> +
> +
> +x86_64-ubuntu-1804:
> + extends: .native_build_job
> + needs:
> + - x86_64-ubuntu-1804-container
> + allow_failure: false
> + variables:
> + NAME: ubuntu-1804
> +
> +
> +x86_64-ubuntu-2004:
> + extends: .native_build_job
> + needs:
> + - x86_64-ubuntu-2004-container
> + allow_failure: false
> + variables:
> + NAME: ubuntu-2004
> +
> +
> +
> +# Cross build jobs
> +
> +i686-debian-10:
> + extends: .cross_build_job
> + needs:
> + - i686-debian-10-container
> + allow_failure: false
> + variables:
> + NAME: debian-10
> + CROSS: i686
> +
> +
> +i686-debian-11:
> + extends: .cross_build_job
> + needs:
> + - i686-debian-11-container
> + allow_failure: false
> + variables:
> + NAME: debian-11
> + CROSS: i686
> +
> +
> +# Native cirrus build jobs
> +
> +x86_64-freebsd-12:
> + extends: .cirrus_build_job
> + needs: []
> + allow_failure: false
> + variables:
> + NAME: freebsd-12
> + CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
> + CIRRUS_VM_IMAGE_SELECTOR: image_family
> + CIRRUS_VM_IMAGE_NAME: freebsd-12-2
> + UPDATE_COMMAND: pkg update
> + UPGRADE_COMMAND: pkg upgrade -y
> + INSTALL_COMMAND: pkg install -y
> +
> +
> +x86_64-freebsd-13:
> + extends: .cirrus_build_job
> + needs: []
> + allow_failure: false
> + variables:
> + NAME: freebsd-13
> + CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
> + CIRRUS_VM_IMAGE_SELECTOR: image_family
> + CIRRUS_VM_IMAGE_NAME: freebsd-13-0
> + UPDATE_COMMAND: pkg update
> + UPGRADE_COMMAND: pkg upgrade -y
> + INSTALL_COMMAND: pkg install -y
> +
> +
> +x86_64-freebsd-current:
> + extends: .cirrus_build_job
> + needs: []
> + allow_failure: false
> + variables:
> + NAME: freebsd-current
> + CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
> + CIRRUS_VM_IMAGE_SELECTOR: image_family
> + CIRRUS_VM_IMAGE_NAME: freebsd-13-0-snap
> + UPDATE_COMMAND: pkg update
> + UPGRADE_COMMAND: pkg upgrade -y
> + INSTALL_COMMAND: pkg install -y
> +
> +
> +x86_64-macos-11:
> + extends: .cirrus_build_job
> + needs: []
> + allow_failure: false
> + variables:
> + NAME: macos-11
> + CIRRUS_VM_INSTANCE_TYPE: osx_instance
> + CIRRUS_VM_IMAGE_SELECTOR: image
> + CIRRUS_VM_IMAGE_NAME: big-sur-base
> + UPDATE_COMMAND: brew update
> + UPGRADE_COMMAND: brew upgrade
> + INSTALL_COMMAND: brew install
> + 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
> diff --git a/ci/manifest.yml b/ci/manifest.yml
> new file mode 100644
> index 000000000000..2439ed01eea2
> --- /dev/null
> +++ b/ci/manifest.yml
> @@ -0,0 +1,72 @@
> +projects:
> + - libnbd
> +
> +gitlab:
> + namespace: nbdkit
> + project: libnbd
> + jobs:
> + check-dco: false
> +
> +targets:
> + alpine-314: x86_64
> +
> + alpine-edge: x86_64
> +
> + centos-8:
> + jobs:
> + - arch: x86_64
> +
> + - arch: x86_64
> + suffix: -clang
> + variables:
> + CC: clang
> +
> + centos-stream-8: x86_64
> +
> + debian-10:
> + jobs:
> + - arch: x86_64
> + - arch: i686
> +
> + debian-11:
> + jobs:
> + - arch: x86_64
> + - arch: i686
> +
> + debian-sid: x86_64
> +
> + fedora-33: x86_64
> +
> + fedora-34: x86_64
> +
> + fedora-rawhide:
> + jobs:
> + - arch: x86_64
> +
> + - arch: x86_64
> + suffix: -clang
> + variables:
> + CC: clang
> +
> + freebsd-12: x86_64
> +
> + freebsd-13: x86_64
> +
> + freebsd-current: x86_64
> +
> + opensuse-leap-152: x86_64
> +
> + opensuse-tumbleweed: x86_64
> +
> + macos-11:
> + jobs:
> + - arch: x86_64
> + variables:
> + 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
> +
> + ubuntu-1804: x86_64
> +
> + ubuntu-2004:
> + jobs:
> + - arch: x86_64
> diff --git a/ci/refresh b/ci/refresh
> deleted file mode 100755
> index 8a276e42dec6..000000000000
> --- a/ci/refresh
> +++ /dev/null
> @@ -1,33 +0,0 @@
> -#!/bin/sh
> -
> -if test -z "$1"
> -then
> - echo "syntax: $0 PATH-TO-LCITOOL"
> - exit 1
> -fi
> -
> -LCITOOL=$1
> -
> -if ! test -x "$LCITOOL"
> -then
> - echo "$LCITOOL is not executable"
> - exit 1
> -fi
> -
> -ci_path=$(dirname "$0")
> -
> -for target in $($LCITOOL targets)
> -do
> - if echo "$target" | grep -q -e 'freebsd' -e 'macos'
> - then
> - $LCITOOL variables "$target" libnbd >"$ci_path/cirrus/$target.vars"
> - else
> - if test "$target" = "debian-11" -o "$target" = "debian-10"
> - then
> - $LCITOOL dockerfile -x i686 "$target" \
> - libnbd >"$ci_path/containers/$target-cross-i686.Dockerfile"
> - fi
> -
> - $LCITOOL dockerfile "$target" libnbd >"$ci_path/containers/$target.Dockerfile"
> - fi
> -done
> --
> 2.33.0
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v
More information about the Libguestfs
mailing list