From 0a9ce157c21b165c7ccbab719262839126c86093 Mon Sep 17 00:00:00 2001 From: Timothy Sutton Date: Thu, 11 Apr 2024 05:51:44 -0400 Subject: [PATCH 1/2] add macOS CI matrix --- .github/workflows/rust.yml | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 4a87750..05bc84a 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -11,12 +11,32 @@ env: jobs: build: - - runs-on: macos-latest + strategy: + fail-fast: false + matrix: + include: + - runner: macos-12 + xcode_version: 14.0.1 # macOS SDK: 12.3 + - runner: macos-12 + xcode_version: 14.2 # macOS SDK: 13.1 + - runner: macos-13 + xcode_version: 15.2 # macOS SDK: 14.2 + - runner: macos-14 + xcode_version: 15.3 # macOS SDK: 14.4 + # optionally opt into latest stable Xcode version in future + # - runner: macos-14 + # xcode_version: latest-stable + runs-on: ${{ matrix.runner }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + - name: Setup Xcode version + uses: maxim-lobanov/setup-xcode@v1.6.0 + with: + xcode-version: ${{ matrix.xcode_version }} - name: Build - run: cargo build --verbose + run: | + echo "macOS SDK version: $(xcrun --sdk macosx --show-sdk-version)" + cargo build --verbose - name: Run tests run: cargo test --verbose From 534c1ad3bca1e06148d6fd76fb84e204d9636c6a Mon Sep 17 00:00:00 2001 From: Timothy Sutton Date: Thu, 11 Apr 2024 05:51:54 -0400 Subject: [PATCH 2/2] blocklist xpc_dictionary_set_mach_send --- xpc-sys/build.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xpc-sys/build.rs b/xpc-sys/build.rs index 4b7932a..e463980 100644 --- a/xpc-sys/build.rs +++ b/xpc-sys/build.rs @@ -29,6 +29,8 @@ fn main() { .allowlist_function("^xpc_.*") .allowlist_var("^_xpc_.*") .allowlist_var("^bootstrap_port") + // This function began appearing as of macOS 14.4 SDK headers + .blocklist_function("xpc_dictionary_set_mach_send") // The following symbols should probably be in libc or mach2, but are not .allowlist_function("^mach_port.*") .allowlist_function("^vm_allocate")