postgres.git / summary / log / commit / refs

commit    dc513bc6544dd7f49a1c2d3bf06c77dbc2b5c9c3
Author:   Thomas Munro <tmunro@postgresql.org>
Date:     Sat Dec 31 21:43:23 2022 +0000

    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.
    
    Back-patch to 15, where in-tree CI began.
    
    Author: Justin Pryzby <pryzby@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 638850a0fec..63b2426741d 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -224,7 +224,7 @@ task: name: macOS - Monterey 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 @@ -238,8 +238,8 @@ task: 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 @@ -284,7 +284,7 @@ task: ccache_cache: folder: $CCACHE_DIR configure_script: | - brewpath="/usr/local" + brewpath="/opt/homebrew" INCLUDES="${brewpath}/include:${INCLUDES}" LIBS="${brewpath}/lib:${LIBS}" diff --git a/src/test/kerberos/t/001_auth.pl b/src/test/kerberos/t/001_auth.pl index 62e05426393..b7418cbb6e5 100644 --- a/src/test/kerberos/t/001_auth.pl +++ b/src/test/kerberos/t/001_auth.pl @@ -28,8 +28,15 @@ if ($ENV{with_gssapi} ne 'yes') 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 86dff8bd1f3..3f7bea9aa6c 100644 --- a/src/test/ldap/t/001_auth.pl +++ b/src/test/ldap/t/001_auth.pl @@ -16,9 +16,15 @@ if ($ENV{with_ldap} ne 'yes') { plan skip_all => 'LDAP not supported by this build'; } +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'; } [parent: c4f64cfab9fe]