[PATCH 5/5] ci: update macOS versions under test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Cirrus CI has stoppped offering multiple versions of macOS images.

There is now only 1 single image, but with multiple XCode versions
pre-installed, selectable using the 'xcodes' app:

    $ xcodes list | grep Installed
    15.2 (15C500b) (Installed)
    15.3 (15E204a) (Installed)
    15.4 (15F31d) (Installed, Selected)
    16.0 (16A242d) (Installed)

    $ clang -v
    Apple clang version 15.0.0 (clang-1500.3.9.4)
    Target: arm64-apple-darwin23.6.0
    Thread model: posix
    InstalledDir: /Applications/Xcode_15.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

    $ xcodes select 16.0
    xcodes requires superuser privileges to select an Xcode
    macOS User Password:
    Selected /Applications/Xcode_16.app/Contents/Developer

    $ clang -v
    Apple clang version 16.0.0 (clang-1600.0.26.3)
    Target: arm64-apple-darwin23.6.0
    Thread model: posix
    InstalledDir: /Applications/Xcode_16.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Any Cirrus CI jobs using an unsupported macOS image name will get
forcably changed at runtime to bot the only permitted image,
currently sonoma. IOW, our attempts to test multiple versions were
not doing anything useful, as evidenced by this message shown in
the Cirrus CI web pages for job tasks:

  "Only ghcr.io/cirruslabs/macos-runner:sonoma is allowed.
   Automatically upgraded."

Replace (failed) testing of multiple macOS versions, with testing
of multiple XCode versions - 15.4 and 16.0

Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx>
---
 ci/cirrus/build.yml     |  2 ++
 ci/cirrus/macos-13.vars | 16 ----------------
 ci/gitlab/builds.yml    | 12 +++++++-----
 ci/manifest.yml         |  9 +++++----
 4 files changed, 14 insertions(+), 25 deletions(-)
 delete mode 100644 ci/cirrus/macos-13.vars

diff --git a/ci/cirrus/build.yml b/ci/cirrus/build.yml
index c0ac05f4d9..110d426aad 100644
--- a/ci/cirrus/build.yml
+++ b/ci/cirrus/build.yml
@@ -10,6 +10,7 @@ env:
   PKG_CONFIG_PATH: "@PKG_CONFIG_PATH@"
   PYTHON: "@PYTHON@"
   MAKE: "@MAKE@"
+  XCODE: "@XCODE@"
   VIR_TEST_VERBOSE: "1"
   VIR_TEST_DEBUG: "1"
 
@@ -24,6 +25,7 @@ build_task:
     - git fetch origin "${CI_MERGE_REQUEST_REF_PATH:-$CI_COMMIT_REF_NAME}"
     - git reset --hard "$CI_COMMIT_SHA"
   build_script:
+    - if test -n "$XCODE"; then xcodes select "$XCODE"; fi
     - 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
diff --git a/ci/cirrus/macos-13.vars b/ci/cirrus/macos-13.vars
deleted file mode 100644
index d23fe3cd47..0000000000
--- a/ci/cirrus/macos-13.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 python3 qemu readline'
-PYPI_PKGS='pytest'
-PYTHON='/opt/homebrew/bin/python3'
diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml
index 214119b902..f9685e542d 100644
--- a/ci/gitlab/builds.yml
+++ b/ci/gitlab/builds.yml
@@ -624,28 +624,29 @@ x86_64-freebsd-14:
     UPGRADE_COMMAND: pkg upgrade -y
 
 
-aarch64-macos-13:
+aarch64-macos-14-xcode-15-4:
   extends: .cirrus_build_job
   needs: []
   allow_failure: false
   variables:
-    CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-ventura-base:latest
+    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-13
+    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
+    XCODE: 15.4
 
 
-aarch64-macos-14:
+aarch64-macos-14-xcode-16-0:
   extends: .cirrus_build_job
   needs: []
   allow_failure: false
   variables:
-    CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-sonoma-base:latest
+    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
@@ -654,3 +655,4 @@ aarch64-macos-14:
     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
+    XCODE: 16
diff --git a/ci/manifest.yml b/ci/manifest.yml
index 647510ed2f..6f8263f242 100644
--- a/ci/manifest.yml
+++ b/ci/manifest.yml
@@ -203,19 +203,20 @@ targets:
         variables:
           RPM: skip
 
-  macos-13:
+  macos-14:
     jobs:
       - arch: aarch64
+        suffix: -xcode-15-4
         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
-
-  macos-14:
-    jobs:
+          XCODE: 15.4
       - arch: aarch64
+        suffix: -xcode-16-0
         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
+          XCODE: "16.0"
 
   ubuntu-2204:
     jobs:
-- 
2.46.0




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux