On Wed, Nov 23, 2022 at 11:57 AM Justin Pryzby <pry...@telsasoft.com> wrote: > [PATCH 02/10] cirrus/macos: switch to "macos_instance" / M1..
Duelling patches. Bilal's patch[1] uses the matrix feature to run the tests on both Intel and ARM, which made sense when he proposed it, but according to Cirrus CI warnings, the Intel instances are about to go away. So I think we just need your smaller change to switch the instance type. As for the pathname change, there is another place that knows where Homebrew lives, in ldap/001_auth. Fixed in the attached. That test just SKIPs if it can't find the binary, making it harder to notice. Standardising our approach here might make sense for a later patch. As for the kerberos test, Bilal's patch may well be a better idea (it adds MacPorts for one thing), and so I'll suggest rebasing that, but here I just wanted the minimum mechanical fix to avoid breaking on the 1st of Jan. I plan to push this soon if there are no objections. Then discussion of Bilal's patch can continue. > [PATCH 03/10] cirrus/macos: update to macos ventura I don't know any reason not to push this one too, but it's not time critical. [1] https://www.postgresql.org/message-id/flat/CAN55FZ2R%2BXufuVgJ8ew_yDBk48PgXEBvyKNvnNdTTVyczbQj0g%40mail.gmail.com
From a355638fd9c1c16e54418d8374a374967081e0a0 Mon Sep 17 00:00:00 2001 From: Thomas Munro <thomas.mu...@gmail.com> Date: Wed, 28 Dec 2022 16:58:09 +1300 Subject: [PATCH] ci: Change macOS builds from Intel to ARM. Cirrus is about to shut down its macOS-on-Intel support, so it's time to move our CI testing over to ARM instances. The Homebrew package manager changed its default installation prefix for the new architecture, so a couple of tests need tweaks to find binaries. Author: Justin Pryzby <pry...@telsasoft.com> Discussion: https://postgr.es/m/20221122225744.GF11463%40telsasoft.com --- .cirrus.yml | 8 ++++---- src/test/kerberos/t/001_auth.pl | 9 ++++++++- src/test/ldap/t/001_auth.pl | 8 +++++++- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 993af88865..354102613d 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -407,7 +407,7 @@ task: name: macOS - Monterey - Meson env: - CPUS: 12 # always get that much for cirrusci macOS instances + CPUS: 4 # always get that much for cirrusci macOS instances BUILD_JOBS: $CPUS # Test performance regresses noticably when using all cores. 8 seems to # work OK. See @@ -428,8 +428,8 @@ task: depends_on: SanityCheck only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*(macos|darwin|osx).*' - osx_instance: - image: monterey-base + macos_instance: + image: ghcr.io/cirruslabs/macos-monterey-base:latest sysinfo_script: | id @@ -475,7 +475,7 @@ task: ccache_cache: folder: $CCACHE_DIR configure_script: | - brewpath="/usr/local" + brewpath="/opt/homebrew" PKG_CONFIG_PATH="${brewpath}/lib/pkgconfig:${PKG_CONFIG_PATH}" for pkg in icu4c krb5 openldap openssl zstd ; do diff --git a/src/test/kerberos/t/001_auth.pl b/src/test/kerberos/t/001_auth.pl index a2bc8a5351..298dc0c62b 100644 --- a/src/test/kerberos/t/001_auth.pl +++ b/src/test/kerberos/t/001_auth.pl @@ -32,8 +32,15 @@ elsif ($ENV{PG_TEST_EXTRA} !~ /\bkerberos\b/) my ($krb5_bin_dir, $krb5_sbin_dir); -if ($^O eq 'darwin') +if ($^O eq 'darwin' && -d "/opt/homebrew" ) { + # typical paths for Homebrew on ARM + $krb5_bin_dir = '/opt/homebrew/opt/krb5/bin'; + $krb5_sbin_dir = '/opt/homebrew/opt/krb5/sbin'; +} +elsif ($^O eq 'darwin') +{ + # typical paths for Homebrew on Intel $krb5_bin_dir = '/usr/local/opt/krb5/bin'; $krb5_sbin_dir = '/usr/local/opt/krb5/sbin'; } diff --git a/src/test/ldap/t/001_auth.pl b/src/test/ldap/t/001_auth.pl index 0ea274c383..39736e5116 100644 --- a/src/test/ldap/t/001_auth.pl +++ b/src/test/ldap/t/001_auth.pl @@ -21,9 +21,15 @@ elsif ($ENV{PG_TEST_EXTRA} !~ /\bldap\b/) { plan skip_all => 'Potentially unsafe test LDAP not enabled in PG_TEST_EXTRA'; } +elsif ($^O eq 'darwin' && -d '/opt/homebrew/opt/openldap') +{ + # typical paths for Homebrew on ARM + $slapd = '/opt/homebrew/opt/openldap/libexec/slapd'; + $ldap_schema_dir = '/opt/homebrew/etc/openldap/schema'; +} elsif ($^O eq 'darwin' && -d '/usr/local/opt/openldap') { - # typical paths for Homebrew + # typical paths for Homebrew on Intel $slapd = '/usr/local/opt/openldap/libexec/slapd'; $ldap_schema_dir = '/usr/local/etc/openldap/schema'; } -- 2.35.1