diff mbox series

[RFC,v3,7/7] gitlab-ci: Support macOS 12 via cirrus-run

Message ID 20220110131001.614319-8-f4bug@amsat.org
State New
Headers show
Series host: Support macOS 12 | expand

Commit Message

Philippe Mathieu-Daudé Jan. 10, 2022, 1:10 p.m. UTC
Add support for macOS 12 build on Cirrus-CI, similarly to commit
0e103a65ba1 ("gitlab: support for ... macOS 11 via cirrus-run").

Update the lcitool repository to get the macos12 mappings,
and generate the vars file by calling 'make lcitool-refresh'.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
Pending on libvirt-ci MR #210:
https://gitlab.com/libvirt/libvirt-ci/-/merge_requests/210
---
 .gitlab-ci.d/cirrus.yml           | 15 +++++++++++++++
 .gitlab-ci.d/cirrus/macos-12.vars | 16 ++++++++++++++++
 tests/lcitool/libvirt-ci          |  2 +-
 tests/lcitool/refresh             |  1 +
 4 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 .gitlab-ci.d/cirrus/macos-12.vars

Comments

Thomas Huth Jan. 13, 2022, 7:39 a.m. UTC | #1
On 10/01/2022 14.10, Philippe Mathieu-Daudé wrote:
> Add support for macOS 12 build on Cirrus-CI, similarly to commit
> 0e103a65ba1 ("gitlab: support for ... macOS 11 via cirrus-run").
> 
> Update the lcitool repository to get the macos12 mappings,
> and generate the vars file by calling 'make lcitool-refresh'.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> Pending on libvirt-ci MR #210:
> https://gitlab.com/libvirt/libvirt-ci/-/merge_requests/210
> ---
>   .gitlab-ci.d/cirrus.yml           | 15 +++++++++++++++
>   .gitlab-ci.d/cirrus/macos-12.vars | 16 ++++++++++++++++
>   tests/lcitool/libvirt-ci          |  2 +-
>   tests/lcitool/refresh             |  1 +
>   4 files changed, 33 insertions(+), 1 deletion(-)
>   create mode 100644 .gitlab-ci.d/cirrus/macos-12.vars
> 
> diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml
> index b96b22e2697..b7662959070 100644
> --- a/.gitlab-ci.d/cirrus.yml
> +++ b/.gitlab-ci.d/cirrus.yml
> @@ -87,6 +87,21 @@ x64-macos-11-base-build:
>       PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
>       TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
>   
> +x64-macos-12-base-build:
> +  extends: .cirrus_build_job
> +  variables:
> +    NAME: macos-12
> +    CIRRUS_VM_INSTANCE_TYPE: osx_instance
> +    CIRRUS_VM_IMAGE_SELECTOR: image
> +    CIRRUS_VM_IMAGE_NAME: monterey-base
> +    CIRRUS_VM_CPUS: 12
> +    CIRRUS_VM_RAM: 24G
> +    UPDATE_COMMAND: brew update
> +    INSTALL_COMMAND: brew install
> +    PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin
> +    PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
> +    TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64

Since we cannot run that many Cirrus-CI jobs in parallel, I think it might 
make sense to limit the macos-11 job to manual mode now?

  Thomas
Philippe Mathieu-Daudé Jan. 13, 2022, 11:41 a.m. UTC | #2
On 13/1/22 08:39, Thomas Huth wrote:
> On 10/01/2022 14.10, Philippe Mathieu-Daudé wrote:
>> Add support for macOS 12 build on Cirrus-CI, similarly to commit
>> 0e103a65ba1 ("gitlab: support for ... macOS 11 via cirrus-run").
>>
>> Update the lcitool repository to get the macos12 mappings,
>> and generate the vars file by calling 'make lcitool-refresh'.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>> Pending on libvirt-ci MR #210:
>> https://gitlab.com/libvirt/libvirt-ci/-/merge_requests/210
>> ---
>>   .gitlab-ci.d/cirrus.yml           | 15 +++++++++++++++
>>   .gitlab-ci.d/cirrus/macos-12.vars | 16 ++++++++++++++++
>>   tests/lcitool/libvirt-ci          |  2 +-
>>   tests/lcitool/refresh             |  1 +
>>   4 files changed, 33 insertions(+), 1 deletion(-)
>>   create mode 100644 .gitlab-ci.d/cirrus/macos-12.vars
>>
>> diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml
>> index b96b22e2697..b7662959070 100644
>> --- a/.gitlab-ci.d/cirrus.yml
>> +++ b/.gitlab-ci.d/cirrus.yml
>> @@ -87,6 +87,21 @@ x64-macos-11-base-build:
>>       PKG_CONFIG_PATH: 
>> /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig 
>>
>>       TEST_TARGETS: check-unit check-block check-qapi-schema 
>> check-softfloat check-qtest-x86_64
>> +x64-macos-12-base-build:
>> +  extends: .cirrus_build_job
>> +  variables:
>> +    NAME: macos-12
>> +    CIRRUS_VM_INSTANCE_TYPE: osx_instance
>> +    CIRRUS_VM_IMAGE_SELECTOR: image
>> +    CIRRUS_VM_IMAGE_NAME: monterey-base
>> +    CIRRUS_VM_CPUS: 12
>> +    CIRRUS_VM_RAM: 24G
>> +    UPDATE_COMMAND: brew update
>> +    INSTALL_COMMAND: brew install
>> +    PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin
>> +    PKG_CONFIG_PATH: 
>> /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig 
>>
>> +    TEST_TARGETS: check-unit check-block check-qapi-schema 
>> check-softfloat check-qtest-x86_64
> 
> Since we cannot run that many Cirrus-CI jobs in parallel, I think it 
> might make sense to limit the macos-11 job to manual mode now?

TBH I don't know, IIUC macOS seems somehow a bit tied with hardware
(updated less often), and apparently our user base is still interested
in having the previous Catalina version working too.

What about FreeBSD jobs? Do you also plan to set the FreeBSD 12 job to 
manual?

Maybe we could split the configured options, but I'm not sure we'll save
much, the basics to be covered are major sysemu with ui, tools & doc.
Thomas Huth Jan. 18, 2022, 9:34 a.m. UTC | #3
On 13/01/2022 12.41, Philippe Mathieu-Daudé wrote:
> On 13/1/22 08:39, Thomas Huth wrote:
>> On 10/01/2022 14.10, Philippe Mathieu-Daudé wrote:
>>> Add support for macOS 12 build on Cirrus-CI, similarly to commit
>>> 0e103a65ba1 ("gitlab: support for ... macOS 11 via cirrus-run").
>>>
>>> Update the lcitool repository to get the macos12 mappings,
>>> and generate the vars file by calling 'make lcitool-refresh'.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>> ---
>>> Pending on libvirt-ci MR #210:
>>> https://gitlab.com/libvirt/libvirt-ci/-/merge_requests/210
>>> ---
>>>   .gitlab-ci.d/cirrus.yml           | 15 +++++++++++++++
>>>   .gitlab-ci.d/cirrus/macos-12.vars | 16 ++++++++++++++++
>>>   tests/lcitool/libvirt-ci          |  2 +-
>>>   tests/lcitool/refresh             |  1 +
>>>   4 files changed, 33 insertions(+), 1 deletion(-)
>>>   create mode 100644 .gitlab-ci.d/cirrus/macos-12.vars
>>>
>>> diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml
>>> index b96b22e2697..b7662959070 100644
>>> --- a/.gitlab-ci.d/cirrus.yml
>>> +++ b/.gitlab-ci.d/cirrus.yml
>>> @@ -87,6 +87,21 @@ x64-macos-11-base-build:
>>>       PKG_CONFIG_PATH: 
>>> /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig 
>>>
>>>       TEST_TARGETS: check-unit check-block check-qapi-schema 
>>> check-softfloat check-qtest-x86_64
>>> +x64-macos-12-base-build:
>>> +  extends: .cirrus_build_job
>>> +  variables:
>>> +    NAME: macos-12
>>> +    CIRRUS_VM_INSTANCE_TYPE: osx_instance
>>> +    CIRRUS_VM_IMAGE_SELECTOR: image
>>> +    CIRRUS_VM_IMAGE_NAME: monterey-base
>>> +    CIRRUS_VM_CPUS: 12
>>> +    CIRRUS_VM_RAM: 24G
>>> +    UPDATE_COMMAND: brew update
>>> +    INSTALL_COMMAND: brew install
>>> +    PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin
>>> +    PKG_CONFIG_PATH: 
>>> /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig 
>>>
>>> +    TEST_TARGETS: check-unit check-block check-qapi-schema 
>>> check-softfloat check-qtest-x86_64
>>
>> Since we cannot run that many Cirrus-CI jobs in parallel, I think it might 
>> make sense to limit the macos-11 job to manual mode now?
> 
> TBH I don't know, IIUC macOS seems somehow a bit tied with hardware
> (updated less often), and apparently our user base is still interested
> in having the previous Catalina version working too.
> 
> What about FreeBSD jobs? Do you also plan to set the FreeBSD 12 job to manual?

No good clue... Maybe we could also simply bump the timeout setting in 
.gitlab-ci.d/cirrus.yml to the maximum value (120 min, I think?) and hope 
that all the Cirrus-CI jobs finish within that amount of time?

  Thomas
diff mbox series

Patch

diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml
index b96b22e2697..b7662959070 100644
--- a/.gitlab-ci.d/cirrus.yml
+++ b/.gitlab-ci.d/cirrus.yml
@@ -87,6 +87,21 @@  x64-macos-11-base-build:
     PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
     TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
 
+x64-macos-12-base-build:
+  extends: .cirrus_build_job
+  variables:
+    NAME: macos-12
+    CIRRUS_VM_INSTANCE_TYPE: osx_instance
+    CIRRUS_VM_IMAGE_SELECTOR: image
+    CIRRUS_VM_IMAGE_NAME: monterey-base
+    CIRRUS_VM_CPUS: 12
+    CIRRUS_VM_RAM: 24G
+    UPDATE_COMMAND: brew update
+    INSTALL_COMMAND: brew install
+    PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin
+    PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
+    TEST_TARGETS: check-unit check-block check-qapi-schema check-softfloat check-qtest-x86_64
+
 
 # The following jobs run VM-based tests via KVM on a Linux-based Cirrus-CI job
 .cirrus_kvm_job:
diff --git a/.gitlab-ci.d/cirrus/macos-12.vars b/.gitlab-ci.d/cirrus/macos-12.vars
new file mode 100644
index 00000000000..997dbc762c8
--- /dev/null
+++ b/.gitlab-ci.d/cirrus/macos-12.vars
@@ -0,0 +1,16 @@ 
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool variables macos-12 qemu
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+CCACHE='/usr/local/bin/ccache'
+CPAN_PKGS='Test::Harness'
+CROSS_PKGS=''
+MAKE='/usr/local/bin/gmake'
+NINJA='/usr/local/bin/ninja'
+PACKAGING_COMMAND='brew'
+PIP3='/usr/local/bin/pip3'
+PKGS='bash bc bzip2 capstone ccache cpanminus ctags curl dbus diffutils dtc gcovr gettext git glib gnu-sed gnutls gtk+3 jemalloc jpeg-turbo libepoxy libffi libgcrypt libiscsi libnfs libpng libslirp libssh libtasn1 libusb libxml2 llvm lzo make meson ncurses nettle ninja perl pixman pkg-config python3 rpm2cpio sdl2 sdl2_image snappy sparse spice-protocol tesseract texinfo usbredir vde vte3 zlib zstd'
+PYPI_PKGS='PyYAML numpy pillow sphinx sphinx-rtd-theme virtualenv'
+PYTHON='/usr/local/bin/python3'
diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
index 8f48e54238d..e91e83fed20 160000
--- a/tests/lcitool/libvirt-ci
+++ b/tests/lcitool/libvirt-ci
@@ -1 +1 @@ 
-Subproject commit 8f48e54238d28d7a427a541d6dbe56432e3c4660
+Subproject commit e91e83fed2086163013242e8a33c74fbfba7f729
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index 033120e223d..6ac8b888927 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -89,6 +89,7 @@  try:
    generate_cirrus("freebsd-12")
    generate_cirrus("freebsd-13")
    generate_cirrus("macos-11")
+   generate_cirrus("macos-12")
 
    sys.exit(0)
 except Exception as ex: