Skip to content

Commit 09bcf4c

Browse files
committed
feat(release): add separate architecture macOS builds
1 parent 56b5b95 commit 09bcf4c

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

.github/workflows/main.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
build:
1111
runs-on: ${{ matrix.os }}
1212
container: ${{ matrix.container && matrix.container || '' }}
13-
name: ${{ matrix.name }}${{ matrix.arch && format('-{0}', matrix.arch) || '' }} build${{ matrix.arch != 'arm64-v8a' && matrix.name != 'ios-sim' && matrix.name != 'ios' && matrix.name != 'apple-xcframework' && matrix.name != 'android-aar' && ' + test' || ''}}
13+
name: ${{ matrix.name }}${{ matrix.arch && format('-{0}', matrix.arch) || '' }} build${{ matrix.arch != 'arm64-v8a' && matrix.name != 'ios-sim' && matrix.name != 'ios' && matrix.name != 'apple-xcframework' && matrix.name != 'android-aar' && ( matrix.name == 'macos' && matrix.arch != 'x86_64' ) && ' + test' || ''}}
1414
timeout-minutes: 20
1515
strategy:
1616
fail-fast: false
@@ -31,6 +31,14 @@ jobs:
3131
name: linux-musl
3232
- os: macos-15
3333
name: macos
34+
- os: macos-15
35+
arch: x86_64
36+
name: macos
37+
make: ARCH=x86_64
38+
- os: macos-15
39+
arch: arm64
40+
name: macos
41+
make: ARCH=arm64
3442
- os: windows-2022
3543
arch: x86_64
3644
name: windows
@@ -171,7 +179,7 @@ jobs:
171179
adb shell "sh /data/local/tmp/commands.sh"
172180
173181
- name: test sqlite-vector
174-
if: contains(matrix.name, 'linux') || matrix.name == 'windows' || matrix.name == 'macos'
182+
if: contains(matrix.name, 'linux') || matrix.name == 'windows' || ( matrix.name == 'macos' && matrix.arch != 'x86_64' )
175183
run: ${{ matrix.name == 'linux-musl' && matrix.arch == 'arm64' && 'docker exec alpine' || '' }} make test ${{ matrix.make && matrix.make || ''}}
176184

177185
- uses: actions/[email protected]

Makefile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,14 @@ ifeq ($(PLATFORM),windows)
4848
STRIP = strip --strip-unneeded $@
4949
else ifeq ($(PLATFORM),macos)
5050
TARGET := $(DIST_DIR)/vector.dylib
51-
LDFLAGS += -arch x86_64 -arch arm64 -dynamiclib -undefined dynamic_lookup
52-
CFLAGS += -arch x86_64 -arch arm64
51+
ifndef ARCH
52+
LDFLAGS += -arch x86_64 -arch arm64
53+
CFLAGS += -arch x86_64 -arch arm64
54+
else
55+
LDFLAGS += -arch $(ARCH)
56+
CFLAGS += -arch $(ARCH)
57+
endif
58+
LDFLAGS += -dynamiclib -undefined dynamic_lookup
5359
STRIP = strip -x -S $@
5460
else ifeq ($(PLATFORM),android)
5561
ifndef ARCH # Set ARCH to find Android NDK's Clang compiler, the user should set the ARCH

0 commit comments

Comments
 (0)