[PATCH 0/3] ci: Remove cirrus jobs
Cirrus CI ceased operation. Our jobs now fail: https://gitlab.com/libvirt/libvirt/-/jobs/14644398990 Peter Krempa (3): ci: README: Delete section about 'Cirrus CI' ci: Drop 'Cirrus CI' job defnitions ci: Regenerate with 'lcitool' ci/README.rst | 59 ----------------------------------- ci/cirrus/freebsd-14.vars | 16 ---------- ci/cirrus/freebsd-15.vars | 16 ---------- ci/cirrus/macos-14.vars | 16 ---------- ci/gitlab/build-templates.yml | 53 ------------------------------- ci/gitlab/builds.yml | 49 ----------------------------- ci/manifest.yml | 11 ------- 7 files changed, 220 deletions(-) delete mode 100644 ci/cirrus/freebsd-14.vars delete mode 100644 ci/cirrus/freebsd-15.vars delete mode 100644 ci/cirrus/macos-14.vars -- 2.54.0
From: Peter Krempa <pkrempa@redhat.com> The service no longer exists. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- ci/README.rst | 59 --------------------------------------------------- 1 file changed, 59 deletions(-) diff --git a/ci/README.rst b/ci/README.rst index 85bfb09a8f..119bdab760 100644 --- a/ci/README.rst +++ b/ci/README.rst @@ -13,65 +13,6 @@ The behaviour of GitLab CI can be tuned through a number of variables which can be set at push time, or through the UI. See ``ci/gitlab.yml`` for further details. -Cirrus CI integration -===================== - -libvirt currently supports three non-Linux operating systems: Windows, FreeBSD -and macOS. Windows cross-builds can be prepared on Linux by using `MinGW-w64`_, -but for both FreeBSD and macOS we need to use the actual operating system, and -unfortunately GitLab shared runners are currently not available for either. - -To work around this limitation, we take advantage of `Cirrus CI`_'s free -offering: more specifically, we use the `cirrus-run`_ script to trigger Cirrus -CI jobs from GitLab CI jobs so that the workaround is almost entirely -transparent to users and there's no need to constantly check two separate CI -dashboards. - -There is, however, some one-time setup required. If you want FreeBSD and macOS -builds to happen when you push to your GitLab repository, you need to - -* set up a GitHub repository for the project, eg. ``yourusername/libvirt``. - This repository needs to exist for cirrus-run to work, but it doesn't need to - be kept up to date, so you can create it and then forget about it; - -* enable the `Cirrus CI GitHub app`_ for your GitHub account; - -* sign up for Cirrus CI. It's enough to log into the website using your GitHub - account; - -* grab an API token from the `Cirrus CI settings`_ page; - -* it may be necessary to push an empty ``.cirrus.yml`` file to your github fork - for Cirrus CI to properly recognize the project. You can check whether - Cirrus CI knows about your project by navigating to: - - ``https://cirrus-ci.com/yourusername/libvirt`` - -* in the *CI/CD / Variables* section of the settings page for your GitLab - repository, create two new variables: - - * ``CIRRUS_GITHUB_REPO``, containing the name of the GitHub repository - created earlier, eg. ``yourusername/libvirt``; - - * ``CIRRUS_API_TOKEN``, containing the Cirrus CI API token generated earlier. - This variable **must** be marked as *Masked*, because anyone with knowledge - of it can impersonate you as far as Cirrus CI is concerned. - - Neither of these variables should be marked as *Protected*, because in - general you'll want to be able to trigger Cirrus CI builds from non-protected - branches. - -Once this one-time setup is complete, you can just keep pushing to your GitLab -repository as usual and you'll automatically get the additional CI coverage. - - -.. _Cirrus CI GitHub app: https://github.com/marketplace/cirrus-ci -.. _Cirrus CI settings: https://cirrus-ci.com/settings/profile/ -.. _Cirrus CI: https://cirrus-ci.com/ -.. _MinGW-w64: https://www.mingw-w64.org/ -.. _cirrus-run: https://github.com/sio/cirrus-run/ - - Coverity scan integration ========================= -- 2.54.0
From: Peter Krempa <pkrempa@redhat.com> Cirrus CI no longer exists. Drop the current jobs using it from the definitions. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- ci/gitlab/build-templates.yml | 53 ----------------------------------- ci/gitlab/builds.yml | 49 -------------------------------- ci/manifest.yml | 11 -------- 3 files changed, 113 deletions(-) diff --git a/ci/gitlab/build-templates.yml b/ci/gitlab/build-templates.yml index fc5ddc7eb9..cbee6b68f3 100644 --- a/ci/gitlab/build-templates.yml +++ b/ci/gitlab/build-templates.yml @@ -293,56 +293,3 @@ # upstream+forks: that's all folks - when: never - - -.cirrus_build_job: - stage: builds - image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:latest - interruptible: true - needs: [] - script: - - set -o allexport - - source ci/cirrus/$NAME.vars - - set +o allexport - - cirrus-vars <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: - # upstream+forks: Can't run unless Cirrus is configured - - if: '$CIRRUS_GITHUB_REPO == null || $CIRRUS_API_TOKEN == null' - when: never - - # upstream: pushes to branches - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $JOB_OPTIONAL' - when: manual - allow_failure: true - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push"' - when: on_success - - # forks: pushes to branches with pipeline requested (including pipeline in upstream environment) - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE == "0"' - when: manual - allow_failure: true - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE == "1" && $JOB_OPTIONAL' - when: manual - allow_failure: true - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE == "1"' - when: on_success - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV == "0"' - when: manual - allow_failure: true - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV == "1" && $JOB_OPTIONAL' - when: manual - allow_failure: true - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV == "1"' - when: on_success - - # upstream+forks: Run pipelines on MR, web, api & scheduled - - if: '$CI_PIPELINE_SOURCE =~ /(web|api|schedule|merge_request_event)/ && $JOB_OPTIONAL' - when: manual - allow_failure: true - - if: '$CI_PIPELINE_SOURCE =~ /(web|api|schedule|merge_request_event)/' - when: on_success - - # upstream+forks: that's all folks - - when: never diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml index d215b23b7d..30f29df184 100644 --- a/ci/gitlab/builds.yml +++ b/ci/gitlab/builds.yml @@ -505,52 +505,3 @@ mingw64-fedora-rawhide: JOB_OPTIONAL: 1 NAME: fedora-rawhide TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:rawhide - - -# Native cirrus build jobs - -x86_64-freebsd-14: - extends: .cirrus_build_job - needs: [] - allow_failure: - exit_codes: 3 - variables: - CIRRUS_VM_IMAGE_NAME: freebsd-14-3 - CIRRUS_VM_IMAGE_SELECTOR: image_family - CIRRUS_VM_INSTANCE_TYPE: freebsd_instance - INSTALL_COMMAND: pkg install -y - NAME: freebsd-14 - UPDATE_COMMAND: pkg update - UPGRADE_COMMAND: pkg upgrade -y - - -x86_64-freebsd-15: - extends: .cirrus_build_job - needs: [] - allow_failure: - exit_codes: 3 - variables: - CIRRUS_VM_IMAGE_NAME: freebsd-15-0-amd64-ufs - CIRRUS_VM_IMAGE_SELECTOR: image_family - CIRRUS_VM_INSTANCE_TYPE: freebsd_instance - INSTALL_COMMAND: pkg install -y - NAME: freebsd-15 - UPDATE_COMMAND: pkg update - UPGRADE_COMMAND: pkg upgrade -y - - -aarch64-macos-14: - extends: .cirrus_build_job - needs: [] - allow_failure: - exit_codes: 3 - variables: - CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-runner:sonoma - CIRRUS_VM_IMAGE_SELECTOR: image - CIRRUS_VM_INSTANCE_TYPE: macos_instance - INSTALL_COMMAND: brew install - NAME: macos-14 - PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/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/manifest.yml b/ci/manifest.yml index 94639cf0b8..ef04ff9b1a 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -165,10 +165,6 @@ targets: allow-failure: true builds: false - freebsd-14: x86_64 - - freebsd-15: x86_64 - opensuse-leap-15: jobs: - arch: x86_64 @@ -184,13 +180,6 @@ targets: variables: RPM: skip - macos-14: - jobs: - - arch: aarch64 - variables: - PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/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-2404: jobs: - arch: x86_64 -- 2.54.0
From: Peter Krempa <pkrempa@redhat.com> Drop the job definitions now that Cirrus CI was removed. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- ci/cirrus/freebsd-14.vars | 16 ---------------- ci/cirrus/freebsd-15.vars | 16 ---------------- ci/cirrus/macos-14.vars | 16 ---------------- 3 files changed, 48 deletions(-) delete mode 100644 ci/cirrus/freebsd-14.vars delete mode 100644 ci/cirrus/freebsd-15.vars delete mode 100644 ci/cirrus/macos-14.vars diff --git a/ci/cirrus/freebsd-14.vars b/ci/cirrus/freebsd-14.vars deleted file mode 100644 index b99c663efe..0000000000 --- a/ci/cirrus/freebsd-14.vars +++ /dev/null @@ -1,16 +0,0 @@ -# THIS FILE WAS AUTO-GENERATED -# -# $ lcitool manifest ci/manifest.yml -# -# https://gitlab.com/libvirt/libvirt-ci - -CCACHE='/usr/local/bin/ccache' -CPAN_PKGS='' -CROSS_PKGS='' -MAKE='/usr/local/bin/gmake' -NINJA='/usr/local/bin/ninja' -PACKAGING_COMMAND='pkg' -PIP3='/usr/local/bin/pip' -PKGS='augeas bash-completion ca_root_nss ccache4 codespell cppi curl cyrus-sasl diffutils fusefs-libs3 gettext git glib gmake gnugrep gnutls gsed json-c libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf py311-black py311-docutils py311-flake8 py311-pytest python3 qemu readline' -PYPI_PKGS='' -PYTHON='/usr/local/bin/python3' diff --git a/ci/cirrus/freebsd-15.vars b/ci/cirrus/freebsd-15.vars deleted file mode 100644 index b99c663efe..0000000000 --- a/ci/cirrus/freebsd-15.vars +++ /dev/null @@ -1,16 +0,0 @@ -# THIS FILE WAS AUTO-GENERATED -# -# $ lcitool manifest ci/manifest.yml -# -# https://gitlab.com/libvirt/libvirt-ci - -CCACHE='/usr/local/bin/ccache' -CPAN_PKGS='' -CROSS_PKGS='' -MAKE='/usr/local/bin/gmake' -NINJA='/usr/local/bin/ninja' -PACKAGING_COMMAND='pkg' -PIP3='/usr/local/bin/pip' -PKGS='augeas bash-completion ca_root_nss ccache4 codespell cppi curl cyrus-sasl diffutils fusefs-libs3 gettext git glib gmake gnugrep gnutls gsed json-c libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf py311-black py311-docutils py311-flake8 py311-pytest python3 qemu readline' -PYPI_PKGS='' -PYTHON='/usr/local/bin/python3' diff --git a/ci/cirrus/macos-14.vars b/ci/cirrus/macos-14.vars deleted file mode 100644 index 823de9e6a0..0000000000 --- a/ci/cirrus/macos-14.vars +++ /dev/null @@ -1,16 +0,0 @@ -# THIS FILE WAS AUTO-GENERATED -# -# $ lcitool manifest ci/manifest.yml -# -# https://gitlab.com/libvirt/libvirt-ci - -CCACHE='/opt/homebrew/bin/ccache' -CPAN_PKGS='' -CROSS_PKGS='' -MAKE='/opt/homebrew/bin/gmake' -NINJA='/opt/homebrew/bin/ninja' -PACKAGING_COMMAND='brew' -PIP3='/opt/homebrew/bin/pip3' -PKGS='augeas bash-completion black ccache codespell cppi curl diffutils docutils flake8 gettext git glib gnu-sed gnutls grep json-c libiscsi libpcap libssh libssh2 libxml2 libxslt make meson ninja perl pkg-config python-setuptools python3 qemu readline' -PYPI_PKGS='pytest' -PYTHON='/opt/homebrew/bin/python3' -- 2.54.0
On 6/2/26 08:57, Peter Krempa via Devel wrote:
From: Peter Krempa <pkrempa@redhat.com>
Drop the job definitions now that Cirrus CI was removed.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- ci/cirrus/freebsd-14.vars | 16 ---------------- ci/cirrus/freebsd-15.vars | 16 ---------------- ci/cirrus/macos-14.vars | 16 ---------------- 3 files changed, 48 deletions(-) delete mode 100644 ci/cirrus/freebsd-14.vars delete mode 100644 ci/cirrus/freebsd-15.vars delete mode 100644 ci/cirrus/macos-14.vars
Here, you want this change to prevent lcitool from creating ci/cirrus dir: diff --git a/ci/manifest.yml b/ci/manifest.yml index 2a48735a7d..31de78660d 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -5,6 +5,9 @@ gitlab: namespace: libvirt project: libvirt +cirrus: + enabled: false + Michal
On Tue, Jun 02, 2026 at 09:38:42 +0200, Michal Prívozník wrote:
On 6/2/26 08:57, Peter Krempa via Devel wrote:
From: Peter Krempa <pkrempa@redhat.com>
Drop the job definitions now that Cirrus CI was removed.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- ci/cirrus/freebsd-14.vars | 16 ---------------- ci/cirrus/freebsd-15.vars | 16 ---------------- ci/cirrus/macos-14.vars | 16 ---------------- 3 files changed, 48 deletions(-) delete mode 100644 ci/cirrus/freebsd-14.vars delete mode 100644 ci/cirrus/freebsd-15.vars delete mode 100644 ci/cirrus/macos-14.vars
Here, you want this change to prevent lcitool from creating ci/cirrus dir:
diff --git a/ci/manifest.yml b/ci/manifest.yml index 2a48735a7d..31de78660d 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -5,6 +5,9 @@ gitlab: namespace: libvirt project: libvirt
+cirrus: + enabled: false +
I'll delete the directory, but IMO the proper solution will be to delete cirrus support from lcitool completely, since there's no point in having it at this point.
On 6/2/26 10:50, Peter Krempa wrote:
On Tue, Jun 02, 2026 at 09:38:42 +0200, Michal Prívozník wrote:
On 6/2/26 08:57, Peter Krempa via Devel wrote:
From: Peter Krempa <pkrempa@redhat.com>
Drop the job definitions now that Cirrus CI was removed.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- ci/cirrus/freebsd-14.vars | 16 ---------------- ci/cirrus/freebsd-15.vars | 16 ---------------- ci/cirrus/macos-14.vars | 16 ---------------- 3 files changed, 48 deletions(-) delete mode 100644 ci/cirrus/freebsd-14.vars delete mode 100644 ci/cirrus/freebsd-15.vars delete mode 100644 ci/cirrus/macos-14.vars
Here, you want this change to prevent lcitool from creating ci/cirrus dir:
diff --git a/ci/manifest.yml b/ci/manifest.yml index 2a48735a7d..31de78660d 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -5,6 +5,9 @@ gitlab: namespace: libvirt project: libvirt
+cirrus: + enabled: false +
I'll delete the directory,
But lcitool will create it again, though empty, until ...
but IMO the proper solution will be to delete cirrus support from lcitool completely, since there's no point in having it at this point.
... this happens. Yes. Michal
On Tue, Jun 02, 2026 at 10:53:08 +0200, Michal Prívozník wrote:
On 6/2/26 10:50, Peter Krempa wrote:
On Tue, Jun 02, 2026 at 09:38:42 +0200, Michal Prívozník wrote:
On 6/2/26 08:57, Peter Krempa via Devel wrote:
From: Peter Krempa <pkrempa@redhat.com>
Drop the job definitions now that Cirrus CI was removed.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- ci/cirrus/freebsd-14.vars | 16 ---------------- ci/cirrus/freebsd-15.vars | 16 ---------------- ci/cirrus/macos-14.vars | 16 ---------------- 3 files changed, 48 deletions(-) delete mode 100644 ci/cirrus/freebsd-14.vars delete mode 100644 ci/cirrus/freebsd-15.vars delete mode 100644 ci/cirrus/macos-14.vars
Here, you want this change to prevent lcitool from creating ci/cirrus dir:
diff --git a/ci/manifest.yml b/ci/manifest.yml index 2a48735a7d..31de78660d 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -5,6 +5,9 @@ gitlab: namespace: libvirt project: libvirt
+cirrus: + enabled: false +
I'll delete the directory,
But lcitool will create it again, though empty, until ...
but IMO the proper solution will be to delete cirrus support from lcitool completely, since there's no point in having it at this point.
... this happens. Yes.
On Tue, Jun 02, 2026 at 08:57:05 +0200, Peter Krempa via Devel wrote:
Cirrus CI ceased operation. Our jobs now fail:
I also plan to donate some CI resources to run FreeBSD. I'm working on setting that up as an example and will send an email about it later.
On 6/2/26 08:57, Peter Krempa via Devel wrote:
Cirrus CI ceased operation. Our jobs now fail:
https://gitlab.com/libvirt/libvirt/-/jobs/14644398990
Peter Krempa (3): ci: README: Delete section about 'Cirrus CI' ci: Drop 'Cirrus CI' job defnitions ci: Regenerate with 'lcitool'
ci/README.rst | 59 ----------------------------------- ci/cirrus/freebsd-14.vars | 16 ---------- ci/cirrus/freebsd-15.vars | 16 ---------- ci/cirrus/macos-14.vars | 16 ---------- ci/gitlab/build-templates.yml | 53 ------------------------------- ci/gitlab/builds.yml | 49 ----------------------------- ci/manifest.yml | 11 ------- 7 files changed, 220 deletions(-) delete mode 100644 ci/cirrus/freebsd-14.vars delete mode 100644 ci/cirrus/freebsd-15.vars delete mode 100644 ci/cirrus/macos-14.vars
Huh, I've just posted similar patches (before looking at the list) Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal
participants (2)
-
Michal Prívozník -
Peter Krempa