diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 5e621fa..93a1baa 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -32,7 +32,7 @@ jobs: test: name: ${{ matrix.os }} - PostgreSQL ${{ matrix.postgresql-version }} runs-on: ${{ matrix.os }}-latest - timeout-minutes: 15 + timeout-minutes: ${{ matrix.os == 'macos' && 30 || 15 }} strategy: fail-fast: false matrix: @@ -41,6 +41,7 @@ jobs: - ubuntu postgresql-version: - "15" + - "16" steps: - uses: actions/checkout@v4 - name: Prepare diff --git a/.github/workflows/verify-rc.yaml b/.github/workflows/verify-rc.yaml index 2255d61..86a966b 100644 --- a/.github/workflows/verify-rc.yaml +++ b/.github/workflows/verify-rc.yaml @@ -40,6 +40,7 @@ jobs: - ubuntu postgresql-version: - "15" + - "16" steps: - uses: actions/checkout@v4 - name: Prepare diff --git a/Brewfile b/Brewfile index 160a39d..e81591e 100644 --- a/Brewfile +++ b/Brewfile @@ -16,7 +16,8 @@ # under the License. brew "apache-arrow-glib" +brew "gobject-introspection" brew "libpq" brew "meson" -brew "gobject-introspection" +brew "openssl@3" brew "postgresql@15" diff --git a/ci/scripts/prepare-macos.sh b/ci/scripts/prepare-macos.sh index 671fc14..4e051dc 100755 --- a/ci/scripts/prepare-macos.sh +++ b/ci/scripts/prepare-macos.sh @@ -26,5 +26,5 @@ sed \ -e "s/postgresql@[0-9]*/postgresql@${postgresql_version}/g" \ Brewfile brew update -brew bundle +brew bundle --verbose echo "$(brew --prefix postgresql@${postgresql_version})/bin" >> "${GITHUB_PATH}" diff --git a/dev/prepare-tls.sh b/dev/prepare-tls.sh index e2620ce..a91b345 100755 --- a/dev/prepare-tls.sh +++ b/dev/prepare-tls.sh @@ -29,6 +29,13 @@ root_name=$1 server_name=$2 client_name=$3 +if [ "$(uname)" = "Darwin" ]; then + PATH="$(brew --prefix openssl@3)/bin:${PATH}" + extfile="$(brew --prefix)/etc/openssl@3/openssl.cnf" +else + extfile=/etc/ssl/openssl.cnf +fi + openssl req \ -addext "subjectAltName = DNS:${root_name}" \ -keyout root.key \ @@ -43,7 +50,7 @@ openssl x509 \ -copy_extensions copy \ -days 3650 \ -extensions v3_ca \ - -extfile /etc/ssl/openssl.cnf \ + -extfile ${extfile} \ -in root.csr \ -out root.crt \ -req \ diff --git a/dev/release/verify-rc.sh b/dev/release/verify-rc.sh index b7b9a6e..208d545 100755 --- a/dev/release/verify-rc.sh +++ b/dev/release/verify-rc.sh @@ -202,6 +202,7 @@ test_source_distribution() { fi fi + rm -rf build meson setup \ --prefix="${ARROW_TMPDIR}/install" \ -Dpostgresql_dir="$(pg_config --bindir)/.." \ diff --git a/meson.build b/meson.build index 20dc348..266af95 100644 --- a/meson.build +++ b/meson.build @@ -69,12 +69,17 @@ postgresql = declare_dependency( ] ) install_dir = run_command(pg_config, '--pkglibdir', check: true).stdout().strip() +name_suffix = 'so' +if host_machine.system() == 'darwin' and \ + pg_config.version().version_compare('>= 16') + name_suffix = 'dylib' +endif afs = shared_module( 'arrow_flight_sql', 'src/afs.cc', dependencies: [arrow_flight_sql, postgresql], name_prefix: '', - name_suffix: 'so', + name_suffix: name_suffix, install: true, install_dir: install_dir, ) @@ -82,7 +87,7 @@ afs = shared_module( install_data( 'LICENSE.txt', 'NOTICE.txt', - # 'README.md', + 'README.md', install_dir: project_doc_dir )