From 01ab91f29141ffe0dd1f60fe5310add5913db324 Mon Sep 17 00:00:00 2001 From: "A. Riddell" Date: Fri, 14 Nov 2025 10:35:27 -0500 Subject: [PATCH 1/3] Build wheels for Python 3.14, use macos-14 for compatibility --- .github/workflows/wheels.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index d420060..37abec3 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -17,8 +17,8 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12", "3.13"] - os: [ubuntu-22.04, macos-15] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + os: [ubuntu-22.04, macos-14] platform: [x64] env: REPO_DIR: httpstan @@ -53,7 +53,7 @@ jobs: pip install virtualenv - name: Set multibuild environment variables run: | - if [ "macos-15" == "${{ matrix.os }}" ]; then echo "PLAT=universal2" >> $GITHUB_ENV; fi + if [ "macos-14" == "${{ matrix.os }}" ]; then echo "PLAT=universal2" >> $GITHUB_ENV; fi - name: Use most recent tag as BUILD_COMMIT run: echo "BUILD_COMMIT=$(cd httpstan && git tag --sort version:refname | tail -1)" >> $GITHUB_ENV - name: Print environment variables From a659646d1ddfdc64e556f425888694284c491e17 Mon Sep 17 00:00:00 2001 From: "A. Riddell" Date: Fri, 14 Nov 2025 10:36:04 -0500 Subject: [PATCH 2/3] Update README, universal2 wheels seem to work --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 7ff78a0..75c2b44 100644 --- a/README.md +++ b/README.md @@ -11,5 +11,3 @@ GitHub Actions tries to release previously-unreleased versions of `httpstan` twi ### Differences from the standard ``multibuild`` instructions - `BUILD_COMMIT` is automatically set to the most recent tagged version of `httpstan`. See `.github/workflows/wheels.yml`. -- `MB_PYTHON_OSX_VER=10.9` is set in `.github/workflows/wheels.yml`. -- To avoid building universal wheels on macos, `ARCHFLAGS` is set to `-arch x86_64` in `.github/workflows/wheels.yml`. Setting `ARCHFLAGS` on macos influences what Python uses as `CFLAGS`. The httpstan `Makefile` gets `CFLAGS` from Python and uses them when compiling `httpstan/stan_services.cpp`. From 8172112bd5f25259e4d67519bb0ee3ccebefe097 Mon Sep 17 00:00:00 2001 From: "A. Riddell" Date: Fri, 14 Nov 2025 10:46:25 -0500 Subject: [PATCH 3/3] Update multibuild for Python 3.14 support --- multibuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multibuild b/multibuild index 42d7617..813e820 160000 --- a/multibuild +++ b/multibuild @@ -1 +1 @@ -Subproject commit 42d761728d141d8462cd9943f4329f12fe62b155 +Subproject commit 813e820506368abe81b1e10f61eca7d1db4df38e