Skip to content

Commit 24ca1ce

Browse files
committed
Ship arm64 pygeodiff builds with plugin
1 parent 5dcca60 commit 24ca1ce

File tree

1 file changed

+25
-6
lines changed

1 file changed

+25
-6
lines changed

.github/workflows/packages.yml

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,9 @@ jobs:
8080
name: artifact-pygeodiff-windows
8181
path: ./pygeodiff-binaries/*.pyd
8282

83-
build_macos_binary:
83+
build_macos_binaries:
8484
name: Extract geodiff binary macos
8585
runs-on: macos-latest
86-
env:
87-
PY_PLATFORM: "macosx_10_9_x86_64"
8886
steps:
8987
- uses: actions/setup-python@v4
9088
name: Install Python
@@ -93,14 +91,16 @@ jobs:
9391
run: |
9492
brew install unzip
9593
96-
- name: Download pygeodiff binaries
94+
- name: Download pygeodiff binaries (Intel)
95+
env:
96+
PY_PLATFORM: "macosx_10_9_x86_64"
9797
run: |
9898
pip3 download --only-binary=:all: --no-deps --platform ${PY_PLATFORM} --python-version ${PYTHON_VER} --implementation cp --abi cp${PYTHON_VER} pygeodiff==$GEODIFF_VER
9999
unzip -o pygeodiff-$GEODIFF_VER-cp${PYTHON_VER}-cp${PYTHON_VER}-${PY_PLATFORM}.whl -d tmp
100100
mkdir pygeodiff-binaries
101101
cp tmp/pygeodiff/*.dylib ./pygeodiff-binaries/
102102
103-
- name: Patching pygeodiff binaries
103+
- name: Patching pygeodiff binaries (Intel)
104104
run: |
105105
install_name_tool -change @loader_path/.dylibs/libsqlite3.0.dylib @rpath/libsqlite3.dylib ./pygeodiff-binaries/libpygeodiff-$GEODIFF_VER-python.dylib
106106
OTOOL_L=$(otool -L ./pygeodiff-binaries/libpygeodiff-$GEODIFF_VER-python.dylib)
@@ -110,13 +110,32 @@ jobs:
110110
exit 1
111111
fi
112112
113+
- name: Download pygeodiff binaries (arm64)
114+
env:
115+
PY_PLATFORM: "macosx_14_0_arm64"
116+
run: |
117+
pip3 download --only-binary=:all: --no-deps --platform ${PY_PLATFORM} --python-version ${PYTHON_VER} --implementation cp --abi cp${PYTHON_VER} pygeodiff==$GEODIFF_VER
118+
unzip -o pygeodiff-$GEODIFF_VER-cp${PYTHON_VER}-cp${PYTHON_VER}-${PY_PLATFORM}.whl -d tmp
119+
mkdir pygeodiff-binaries
120+
cp tmp/pygeodiff/*.dylib ./pygeodiff-binaries/
121+
122+
- name: Patching pygeodiff binaries (arm64)
123+
run: |
124+
install_name_tool -change @loader_path/.dylibs/libsqlite3.0.dylib @rpath/libsqlite3.dylib ./pygeodiff-binaries/libpygeodiff-$GEODIFF_VER-arm64-python.dylib
125+
OTOOL_L=$(otool -L ./pygeodiff-binaries/libpygeodiff-$GEODIFF_VER-arm64-python.dylib)
126+
if echo "${OTOOL_L}" | grep -q loader_path
127+
then
128+
echo "libpygeodiff-$GEODIFF_VER-arm64-python.dylib was not patched correctly, maybe sqlite version changed??"
129+
exit 1
130+
fi
131+
113132
- uses: actions/upload-artifact@v4
114133
with:
115134
name: artifact-pygeodiff-macos
116135
path: ./pygeodiff-binaries/*.dylib
117136

118137
create_mergin_plugin_package:
119-
needs: [build_windows_binaries, build_linux_binary, build_macos_binary]
138+
needs: [build_windows_binaries, build_linux_binary, build_macos_binaries]
120139
runs-on: ubuntu-latest
121140
steps:
122141
- uses: actions/checkout@v3

0 commit comments

Comments
 (0)