3030 CIBW_TEST_COMMAND : >-
3131 pytest {project}/tests
3232 MACOSX_DEPLOYMENT_TARGET : " 13.0"
33- # # On Windows, we explicitly request MSVC compilers (as GitHub Action runners have
34- # # MinGW on PATH that would be picked otherwise), switch to a static build for
35- # # runtimes, but use dynamic linking for `VCRUNTIME140.dll`, `VCRUNTIME140_1.dll`,
36- # # and the UCRT. This avoids requiring specific versions of `MSVCP140.dll`, while
37- # # keeping shared state with the rest of the Python process/extensions.
38- # CIBW_CONFIG_SETTINGS_WINDOWS: >-
39- # setup-args="--vsenv"
40- # setup-args="-Db_vscrt=mt"
41- # setup-args="-Dcpp_link_args=['ucrt.lib','vcruntime.lib','/nodefaultlib:libucrt.lib','/nodefaultlib:libvcruntime.lib']"
4233 strategy :
4334 fail-fast : false
4435 matrix :
4940 cibw_archs : " aarch64"
5041 - os : windows-2025
5142 cibw_archs : " AMD64"
52- - os : windows-11-arm
53- cibw_archs : " ARM64"
43+ # # Not happy at the moment hence turned off
44+ # # It doesn't seem too far away, but something isn't quite right.
45+ # # Latest run by Zeb: https://github.com/openscm/example-fgen-basic/actions/runs/17173313157/job/48725872212
46+ # # Can't find numpy definitions for some reason.
47+ # # Maybe helpful issue: https://github.com/numpy/numpy/issues/25000
48+ # - os: windows-11-arm
49+ # cibw_archs: "ARM64"
5450 - os : macos-13
5551 cibw_archs : " x86_64"
5652 - os : macos-14
6965 version : " 13"
7066 - name : Specify MSVC toolchain - windows-arm
7167 # When building on windows ARM, we need to use the MSVC toolchain
68+ # # Original from: https://github.com/matplotlib/matplotlib/blob/1ddb1eccac8cfc25dee47bc538dc5913384b253f/.github/workflows/cibuildwheel.yml#L108
69+ # # On Windows, we explicitly request MSVC compilers (as GitHub Action runners have
70+ # # MinGW on PATH that would be picked otherwise), switch to a static build for
71+ # # runtimes, but use dynamic linking for `VCRUNTIME140.dll`, `VCRUNTIME140_1.dll`,
72+ # # and the UCRT. This avoids requiring specific versions of `MSVCP140.dll`, while
73+ # # keeping shared state with the rest of the Python process/extensions.
74+ # CIBW_CONFIG_SETTINGS_WINDOWS: >-
75+ # setup-args="--vsenv"
76+ # setup-args="-Db_vscrt=mt"
77+ # setup-args="-Dcpp_link_args=['ucrt.lib','vcruntime.lib','/nodefaultlib:libucrt.lib','/nodefaultlib:libvcruntime.lib']"
7278 run : |
7379 echo 'CIBW_CONFIG_SETTINGS_WINDOWS=setup-args="--vsenv" setup-args="-Db_vscrt=mt"' >> $GITHUB_ENV
7480 # TODO: figure out escaping and add back in (?)
@@ -91,76 +97,35 @@ jobs:
9197 config-file : " {package}/pyproject.toml"
9298 env :
9399 CIBW_ARCHS : ${{ matrix.cibw_archs }}
94- # # - name: Setup Python
95- # # if: ${{ startsWith(matrix.os, 'windows') }}
96- # # uses: actions/setup-python@v5
97- # # with:
98- # # python-version: '3.x'
99- # #
100- # # # Maybe not necessary, source:
101- # # # https://dvdhrm.github.io/2021/04/21/meson-msvc-github-actions/
102- # # # and
103- # # # https://github.com/numpy/numpy/blob/71eebaf8513dfd6ed40b0c689702d81e3f6f2527/.github/workflows/wheels.yml#L123
104- # # - name: Setup MSVC developer shell (32-bit)
105- # # if: ${{ matrix.os == 'windows-2022' }}
106- # # uses: bus1/cabuild/action/msdevshell@v1
107- # # with:
108- # # architecture: x64
109- # #
110- # # - name: Set macOS-13 specific flags
111- # # if: matrix.os == 'macos-13'
112- # # run: |
113- # # echo "MACOSX_DEPLOYMENT_TARGET=13.0" >> "$GITHUB_ENV"
114- # #
115- # # - name: Set macOS-14 specific flags
116- # # if: matrix.os == 'macos-14'
117- # # run: |
118- # # echo "MACOSX_DEPLOYMENT_TARGET=14.0" >> "$GITHUB_ENV"
119- # #
120- # # - name: Build wheels
121- # # uses: pypa/cibuildwheel@v3.1.4
122- # # # env:
123- # # # CIBW_SOME_OPTION: value
124- # # # ...
125- # # with:
126- # # package-dir: .
127- # # output-dir: wheelhouse
128- # # config-file: "{package}/pyproject.toml"
129100 - name : Upload wheels
130101 uses : actions/upload-artifact@v4
131102 with :
132103 name : cibw-wheels-${{ matrix.os }}-${{ matrix.cibw_archs }}
133104 path : ./wheelhouse/*.whl
134105 if-no-files-found : error
135106
136- # make-sdist:
137- # name: Make source distribution
138- # runs-on: "ubuntu-latest"
139- #
140- # steps:
141- # - name: Check out repository
142- # uses: actions/checkout@v4
143- # with:
144- # fetch-depth: 0
145- #
146- # - uses: ./.github/actions/setup
147- # with:
148- # python-version: ${{ matrix.python-version }}
149- # uv-dependency-install-flags: "--all-extras --group dev"
150- #
151- # - name: Create source distribution
152- # run: uv build --sdist
153- #
154- # - name: Upload the source distribution artefact
155- # uses: actions/upload-artifact@v4
156- # with:
157- # name: cibw-sdist
158- # path: dist/*.tar.gz
107+ make-sdist :
108+ name : Make source distribution
109+ runs-on : " ubuntu-latest"
110+ steps :
111+ - name : Check out repository
112+ uses : actions/checkout@v4
113+ with :
114+ fetch-depth : 0
115+ - uses : ./.github/actions/setup
116+ with :
117+ python-version : ${{ matrix.python-version }}
118+ uv-dependency-install-flags : " --all-extras --group dev"
119+ - name : Create source distribution
120+ run : uv build --sdist
121+ - name : Upload the source distribution artefact
122+ uses : actions/upload-artifact@v4
123+ with :
124+ name : cibw-sdist
125+ path : dist/*.tar.gz
159126
160127 deploy-pypi :
161- # TODO: turn back on
162- # needs: [ build-wheels, make-sdist ]
163- needs : [build-wheels]
128+ needs : [ build-wheels, make-sdist ]
164129 # Having an environment for deployment is strongly recommend by PyPI
165130 # https://docs.pypi.org/trusted-publishers/adding-a-publisher/#github-actions
166131 # You can comment this line out if you don't want it.
0 commit comments