From: Michal Privoznik <mprivozn@redhat.com> Cirrus CI shut down yesterday (2026-06-01) [1]. Stop running our CI jobs there. 1: https://cirruslabs.org/ Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- ci/README.rst | 58 ----------------------------------- ci/cirrus/build.yml | 30 ------------------ 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 | 14 ++------- 8 files changed, 3 insertions(+), 249 deletions(-) delete mode 100644 ci/cirrus/build.yml 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/README.rst b/ci/README.rst index 85bfb09a8f..db1333b480 100644 --- a/ci/README.rst +++ b/ci/README.rst @@ -13,64 +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 ========================= diff --git a/ci/cirrus/build.yml b/ci/cirrus/build.yml deleted file mode 100644 index c0ac05f4d9..0000000000 --- a/ci/cirrus/build.yml +++ /dev/null @@ -1,30 +0,0 @@ -@CIRRUS_VM_INSTANCE_TYPE@: - @CIRRUS_VM_IMAGE_SELECTOR@: @CIRRUS_VM_IMAGE_NAME@ - -env: - CI_REPOSITORY_URL: "@CI_REPOSITORY_URL@" - CI_COMMIT_REF_NAME: "@CI_COMMIT_REF_NAME@" - CI_MERGE_REQUEST_REF_PATH: "@CI_MERGE_REQUEST_REF_PATH@" - CI_COMMIT_SHA: "@CI_COMMIT_SHA@" - PATH: "@PATH_EXTRA@:$PATH" - PKG_CONFIG_PATH: "@PKG_CONFIG_PATH@" - PYTHON: "@PYTHON@" - MAKE: "@MAKE@" - VIR_TEST_VERBOSE: "1" - VIR_TEST_DEBUG: "1" - -build_task: - install_script: - - @UPDATE_COMMAND@ - - @UPGRADE_COMMAND@ - - @INSTALL_COMMAND@ @PKGS@ - - if test -n "@PYPI_PKGS@" ; then @PIP3@ install --break-system-packages @PYPI_PKGS@ ; fi - clone_script: - - git clone --depth 100 "$CI_REPOSITORY_URL" . - - git fetch origin "${CI_MERGE_REQUEST_REF_PATH:-$CI_COMMIT_REF_NAME}" - - git reset --hard "$CI_COMMIT_SHA" - build_script: - - if test "$(uname)" = "Darwin"; then meson setup build --optimization 0; else meson setup build; fi - - meson dist -C build --no-tests - - meson compile -C build - - meson test -C build --no-suite syntax-check --print-errorlogs || (cat ~/Library/Logs/DiagnosticReports/*.crash && exit 1) 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' 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 69c1047243..d947170ebe 100644 --- a/ci/gitlab/builds.yml +++ b/ci/gitlab/builds.yml @@ -492,52 +492,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 2a48735a7d..31de78660d 100644 --- a/ci/manifest.yml +++ b/ci/manifest.yml @@ -5,6 +5,9 @@ gitlab: namespace: libvirt project: libvirt +cirrus: + enabled: false + targets: almalinux-9: jobs: @@ -161,10 +164,6 @@ targets: allow-failure: true builds: false - freebsd-14: x86_64 - - freebsd-15: x86_64 - opensuse-leap-15: jobs: - arch: x86_64 @@ -180,13 +179,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.53.0