Skip to content

Commit 4bb8c49

Browse files
authored
Merge pull request #3419 from mrmundt/wheel-build-update
Update Wheel Builder
2 parents 4d68e76 + b240c0e commit 4bb8c49

File tree

2 files changed

+28
-6
lines changed

2 files changed

+28
-6
lines changed

.github/workflows/release_wheel_creation.yml

+27-5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ on:
44
push:
55
tags:
66
- '*'
7+
schedule:
8+
- cron: '0 0 3 * *'
79
workflow_dispatch:
810
inputs:
911
git-ref:
@@ -14,8 +16,11 @@ concurrency:
1416
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
1517
cancel-in-progress: true
1618

17-
jobs:
19+
defaults:
20+
run:
21+
shell: bash -l {0}
1822

23+
jobs:
1924
native_wheels:
2025
name: Build wheels (${{ matrix.wheel-version }}) on ${{ matrix.os }} for native and cross-compiled architecture
2126
runs-on: ${{ matrix.os }}
@@ -46,6 +51,7 @@ jobs:
4651
TARGET: 'py313'
4752
GLOBAL_OPTIONS: "--without-cython --with-distributable-extensions"
4853

54+
# We use pure python for any Windows/python greater than 3.10
4955
exclude:
5056
- wheel-version: 'cp311*'
5157
os: windows-latest
@@ -56,8 +62,17 @@ jobs:
5662

5763
steps:
5864
- uses: actions/checkout@v4
65+
- name: Create pyproject.toml
66+
run: |
67+
# Per the cibuildwheel documentation, you can technically use
68+
# CIBW_BEFORE_BUILD to do these steps; however, as of the newest
69+
# version (2.21.3) this feature does not work. This is a hack
70+
# to make cibuildwheel recognize our pre-build requirements
71+
echo -e '[build-system]\n\nrequires = [ "setuptools", "wheel", "cython", "pybind11" ]' > $GITHUB_WORKSPACE/pyproject.toml
72+
cat $GITHUB_WORKSPACE/pyproject.toml
73+
ls -la $GITHUB_WORKSPACE
5974
- name: Build wheels
60-
uses: pypa/cibuildwheel@v2.16.5
75+
uses: pypa/cibuildwheel@v2.21.3
6176
with:
6277
output-dir: dist
6378
env:
@@ -67,7 +82,6 @@ jobs:
6782
CIBW_BUILD: ${{ matrix.wheel-version }}
6883
CIBW_SKIP: "*-musllinux*"
6984
CIBW_BUILD_VERBOSITY: 1
70-
CIBW_BEFORE_BUILD: pip install cython pybind11
7185
CIBW_ENVIRONMENT: PYOMO_SETUP_ARGS="${{ matrix.GLOBAL_OPTIONS }}"
7286
- uses: actions/upload-artifact@v4
7387
with:
@@ -110,16 +124,24 @@ jobs:
110124
uses: docker/setup-qemu-action@v3
111125
with:
112126
platforms: all
127+
- name: Create pyproject.toml
128+
run: |
129+
# Per the cibuildwheel documentation, you can technically use
130+
# CIBW_BEFORE_BUILD to do these steps; however, as of the newest
131+
# version (2.21.3) this feature does not work. This is a hack
132+
# to make cibuildwheel recognize our pre-build requirements
133+
echo -e '[build-system]\n\nrequires = [ "setuptools", "wheel", "cython", "pybind11" ]' > $GITHUB_WORKSPACE/pyproject.toml
134+
cat $GITHUB_WORKSPACE/pyproject.toml
135+
ls -la $GITHUB_WORKSPACE
113136
- name: Build wheels
114-
uses: pypa/cibuildwheel@v2.16.5
137+
uses: pypa/cibuildwheel@v2.21.3
115138
with:
116139
output-dir: dist
117140
env:
118141
CIBW_ARCHS_LINUX: "aarch64"
119142
CIBW_BUILD: ${{ matrix.wheel-version }}
120143
CIBW_SKIP: "*-musllinux*"
121144
CIBW_BUILD_VERBOSITY: 1
122-
CIBW_BEFORE_BUILD: pip install cython pybind11
123145
CIBW_ENVIRONMENT: PYOMO_SETUP_ARGS="${{ matrix.GLOBAL_OPTIONS }}"
124146
- uses: actions/upload-artifact@v4
125147
with:

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ CHANGELOG
5252
- Remove Octeract from NEOS solvers list (and other testing fixes) (#3374)
5353
- Guard tests against broken Gurobi licenses (#3383)
5454
- Remove pin to Gurobi 10.0.3 (#3393)
55-
- Add Python 3.13 to Testing Infrastructure (#3401)
55+
- Add Python 3.13 to Testing Infrastructure (#3401, #3419)
5656
- Resolve `timeout()` failures on Windows/py3.13 (#3415)
5757
- GDP
5858
- Fix performance degradation in hull transformation (#3366)

0 commit comments

Comments
 (0)