@@ -134,28 +134,31 @@ jobs:
134134 # - - - - - - - - - - - - - - - - - - - - -
135135
136136 - name : Download wheel artifact
137- if : matrix.python-version == '3.13' && matrix.use-vtk == 'vtk' && steps.cache-vtk-restore.outputs.cache-hit != 'true'
137+ if : ( matrix.python-version == '3.13' || matrix.os == 'ubuntu-22.04-arm') && matrix.use-vtk == 'vtk' && steps.cache-vtk-restore.outputs.cache-hit != 'true'
138138 shell : bash -l {0}
139139 run : |
140- if [[ "${{ matrix.os }}" == "macos-14" ]]; then
141- echo "Downloading cadquery_vtk-${{ env.VTK }}-cp313-cp313-macosx_11_0_arm64.whl"
142- curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-cp313-cp313-macosx_11_0_arm64.whl
140+ PY_VER=${{ matrix.python-version }}
141+ PY_TAG="cp${PY_VER/./}"
142+
143+ if [[ "${{ matrix.os }}" == "ubuntu-22.04-arm" ]]; then
144+ echo "Downloading cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG}-linux_aarch64.whl"
145+ curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG}-linux_aarch64.whl
146+
147+ elif [[ "${{ matrix.os }}" == "macos-14" ]]; then
148+ echo "Downloading cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG}-macosx_11_0_arm64.whl"
149+ curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG}-macosx_11_0_arm64.whl
143150
144151 elif [[ "${{ matrix.os }}" == "macos-13" ]]; then
145- echo "Downloading cadquery_vtk-9.3.1-cp313-cp313 -macosx_11_0_x86_64.whl"
146- curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-9.3.1-cp313-cp313 -macosx_11_0_x86_64.whl
152+ echo "Downloading cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -macosx_11_0_x86_64.whl"
153+ curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -macosx_11_0_x86_64.whl
147154
148155 elif [[ "${{ matrix.os }}" == "ubuntu-20.04" ]]; then
149- echo "Downloading cadquery_vtk-9.3.1-cp313-cp313-linux_x86_64.whl"
150- curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-9.3.1-cp313-cp313-linux_x86_64.whl
151-
152- elif [[ "${{ matrix.os }}" == "ubuntu-22.04-arm" ]]; then
153- echo "Downloading cadquery_vtk-9.3.1-cp313-cp313-linux_aarch64.whl"
154- curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-9.3.1-cp313-cp313-linux_aarch64.whl
156+ echo "Downloading cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG}-linux_x86_64.whl"
157+ curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG}-linux_x86_64.whl
155158
156159 else
157- echo "Downloading cadquery_vtk-9.3.1-cp313-cp313 -win_amd64.whl"
158- curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-9.3.1-cp313-cp313 -win_amd64.whl
160+ echo "Downloading cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -win_amd64.whl"
161+ curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -win_amd64.whl
159162
160163 fi
161164 ls -l
@@ -194,8 +197,8 @@ jobs:
194197 micromamba create -y -n vtk-$PY_VER python=$PY_VER
195198 micromamba activate vtk-$PY_VER
196199
197- if [[ $PY_VER == 3.13 ]]; then
198- pip install cadquery_vtk-9.3.1 *.whl
200+ if [[ $PY_VER == 3.13 || "${{ matrix.os }}" == "ubuntu-22.04-arm" ]]; then
201+ pip install cadquery_vtk-*.whl
199202 else
200203 pip install vtk==${{ env.VTK }}
201204 fi
@@ -205,7 +208,8 @@ jobs:
205208 cp $CONDA_PREFIX/lib/python$PY_VER/site-packages/vtkmodules/${{ matrix.vtk_libs }} $DEST/lib/
206209 cp $CONDA_PREFIX/lib/python$PY_VER/site-packages/vtk.py $DEST
207210
208- if [[ "$RUNNER_OS" == "Linux" && "$PY_VER" != "3.13" ]]; then
211+ # vtk.libs only exists in official PyPI VTK wheels, not in custom cadquery_vtk wheels
212+ if [[ "$RUNNER_OS" == "Linux" && "$PY_VER" != "3.13" && "${{ matrix.os }}" != "ubuntu-22.04-arm" ]]; then
209213 cp $CONDA_PREFIX/lib/python$PY_VER/site-packages/vtk.libs/* $DEST/lib/
210214 fi
211215
@@ -462,29 +466,14 @@ jobs:
462466 strategy :
463467 fail-fast : false
464468 matrix :
465- os : ["macos-13", "macos-14", " ubuntu-20.04", "ubuntu- 22.04-arm", "windows-2019 "]
469+ os : ["ubuntu-22.04-arm"]
466470 python-version : ["3.11"]
467471
468472 include :
469- - os : " macos-13"
470- sed_i : " gsed -i"
471- env : " MACOSX_DEPLOYMENT_TARGET=11.1"
472- shells : " bash"
473- - os : " macos-14"
474- sed_i : " gsed -i"
475- env : " MACOSX_DEPLOYMENT_TARGET=11.1"
476- shells : " bash"
477- - os : " ubuntu-20.04"
478- sed_i : " sed -i"
479- env : " DUMMY=0"
480- shells : " bash"
481473 - os : " ubuntu-22.04-arm"
482474 sed_i : " sed -i"
483475 env : " DUMMY=0"
484476 shells : " bash"
485- - os : " windows-2019"
486- sed_i : " sed -i"
487- shells : " bash cmd.exe"
488477
489478 steps :
490479 - uses : actions/checkout@v4
@@ -696,47 +685,19 @@ jobs:
696685 strategy :
697686 fail-fast : false
698687 matrix :
699- os : ["macos-13", "macos-14", " ubuntu-20.04", "ubuntu- 22.04-arm", "windows-2019 "]
688+ os : ["ubuntu-22.04-arm"]
700689 python-version : ["3.10", "3.11", "3.12", "3.13"]
701- use-vtk : ["vtk", "novtk" ]
690+ use-vtk : ["vtk"]
702691
703692 include :
704- - os : " macos-13"
705- delocate : delocate
706- plat : macosx_11_1_x86_64
707- sed_i : " gsed -i"
708- module : " OCP.*.so"
709- env : " MACOSX_DEPLOYMENT_TARGET=11.1"
710- shells : " bash"
711- - os : " macos-14"
712- delocate : delocate
713- plat : macosx_11_1_arm64
714- sed_i : " gsed -i"
715- module : " OCP.*.so"
716- env : " MACOSX_DEPLOYMENT_TARGET=11.1"
717- shells : " bash"
718- - os : " ubuntu-20.04"
719- delocate : auditwheel patchelf
720- plat : manylinux_2_31_x86_64
721- sed_i : " sed -i"
722- compilers : " "
723- module : " OCP.*.so"
724- env : " DUMMY=0"
725- shells : " bash"
726693 - os : " ubuntu-22.04-arm"
727694 delocate : auditwheel patchelf
728- plat : manylinux_2_39_aarch64
695+ plat : manylinux_2_35_aarch64
729696 sed_i : " sed -i"
730697 compilers : " "
731698 module : " OCP.*.so"
732699 env : " DUMMY=0"
733700 shells : " bash"
734- - os : " windows-2019"
735- delocate : delvewheel
736- plat : win_amd64
737- sed_i : " sed -i"
738- shells : " bash cmd.exe"
739- module : " OCP.*.pyd"
740701
741702 steps :
742703 - uses : actions/checkout@v4
@@ -1013,7 +974,7 @@ jobs:
1013974
1014975 if [[ "${{ matrix.use-vtk }}" == "vtk" ]]; then
1015976 PKG_NAME="cadquery_ocp"
1016- if [[ ${{ matrix.python-version }} == 3.13 ]]; then
977+ if [[ ${{ matrix.python-version }} == 3.13 || "${{ matrix.os }}" == "ubuntu-22.04-arm" ]]; then
1017978 ${{ matrix.sed_i }} '/requires-python/a\dependencies = [ "cadquery_vtk==${{ env.VTK }}" ]' pyproject.toml
1018979 else
1019980 ${{ matrix.sed_i }} '/requires-python/a\dependencies = [ "vtk==${{ env.VTK }}" ]' pyproject.toml
@@ -1202,28 +1163,31 @@ jobs:
12021163 pip install pytest docutils ipython
12031164
12041165 - name : Download wheel artifact
1205- if : matrix.python-version == '3.13' && matrix.use-vtk == 'vtk'
1166+ if : ( matrix.python-version == '3.13' || matrix.os == 'ubuntu-22.04-arm') && matrix.use-vtk == 'vtk'
12061167 shell : bash -l {0}
12071168 run : |
1169+ PY_TAG="cp${{ matrix.python-version }}"
1170+ PY_TAG="${PY_TAG/./}" # Remove dot: cp3.13 -> cp313
1171+
12081172 if [[ "${{ matrix.os }}" == "macos-14" ]]; then
1209- echo "Downloading cadquery_vtk-${{ env.VTK }}-cp313-cp313 -macosx_11_0_arm64.whl"
1210- curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-cp313-cp313 -macosx_11_0_arm64.whl
1173+ echo "Downloading cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -macosx_11_0_arm64.whl"
1174+ curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -macosx_11_0_arm64.whl
12111175
12121176 elif [[ "${{ matrix.os }}" == "macos-13" ]]; then
1213- echo "Downloading cadquery_vtk-9.3.1-cp313-cp313 -macosx_11_0_x86_64.whl"
1214- curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-cp313-cp313 -macosx_11_0_x86_64.whl
1177+ echo "Downloading cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -macosx_11_0_x86_64.whl"
1178+ curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -macosx_11_0_x86_64.whl
12151179
12161180 elif [[ "${{ matrix.os }}" == "ubuntu-20.04" ]]; then
1217- echo "Downloading cadquery_vtk-9.3.1-cp313-cp313 -linux_x86_64.whl"
1218- curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-cp313-cp313 -linux_x86_64.whl
1181+ echo "Downloading cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -linux_x86_64.whl"
1182+ curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -linux_x86_64.whl
12191183
12201184 elif [[ "${{ matrix.os }}" == "ubuntu-22.04-arm" ]]; then
1221- echo "Downloading cadquery_vtk-9.3.1-cp313-cp313 -linux_aarch64.whl"
1222- curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-cp313-cp313 -linux_aarch64.whl
1185+ echo "Downloading cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -linux_aarch64.whl"
1186+ curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -linux_aarch64.whl
12231187
12241188 else
1225- echo "Downloading cadquery_vtk-9.3.1-cp313-cp313 -win_amd64.whl"
1226- curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-cp313-cp313 -win_amd64.whl
1189+ echo "Downloading cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -win_amd64.whl"
1190+ curl -L -O ${{ env.VTK313_URL }}/cadquery_vtk-${{ env.VTK }}-${PY_TAG}-${PY_TAG} -win_amd64.whl
12271191
12281192 fi
12291193 ls -l
@@ -1235,7 +1199,7 @@ jobs:
12351199
12361200 micromamba activate test
12371201 if [[ "${{ matrix.use-vtk }}" == "vtk" ]]; then
1238- if [[ ${{ matrix.python-version }} == 3.13 ]]; then
1202+ if [[ ${{ matrix.python-version }} == 3.13 || "${{ matrix.os }}" == "ubuntu-22.04-arm" ]]; then
12391203 pip install ./cadquery_vtk*.whl
12401204 else
12411205 pip install vtk==${{ env.VTK }}
0 commit comments