Skip to content

Commit 2837b28

Browse files
committed
Update wheel builds to include linux arm64
Also remove python 3.8 builds and update setuptools license handling
1 parent 1a31236 commit 2837b28

File tree

2 files changed

+18
-53
lines changed

2 files changed

+18
-53
lines changed

.github/workflows/wheels.yml

Lines changed: 16 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -11,60 +11,25 @@ concurrency:
1111

1212
jobs:
1313
build_wheels:
14-
name: Build wheels for ${{ matrix.build }}
14+
name: Build wheels for ${{ matrix.pyver }}-${{ matrix.build }}
1515
runs-on: ${{ matrix.os }}
1616
strategy:
1717
fail-fast: false
1818
matrix:
19+
pyver: [cp39, cp310, cp311, cp312, cp313]
20+
os: [macos-13, macos-14, ubuntu-24.04, ubuntu-24.04-arm]
1921
include:
2022
# macos-13 is an intel runner, macos-14 is apple silicon
2123
- os: macos-13
22-
build: cp38-macosx_x86_64
24+
build: macosx_x86_64
2325
target: 13.0
24-
- os: macos-13
25-
build: cp39-macosx_x86_64
26-
target: 13.0
27-
- os: macos-13
28-
build: cp310-macosx_x86_64
29-
target: 13.0
30-
- os: macos-13
31-
build: cp311-macosx_x86_64
32-
target: 13.0
33-
- os: macos-13
34-
build: cp312-macosx_x86_64
35-
target: 13.0
36-
- os: macos-13
37-
build: cp313-macosx_x86_64
38-
target: 13.0
39-
40-
- os: macos-14
41-
build: cp39-macosx_arm64
42-
target: 14.0
43-
- os: macos-14
44-
build: cp310-macosx_arm64
45-
target: 14.0
4626
- os: macos-14
47-
build: cp311-macosx_arm64
27+
build: macosx_arm64
4828
target: 14.0
49-
- os: macos-14
50-
build: cp312-macosx_arm64
51-
target: 14.0
52-
- os: macos-14
53-
build: cp313-macosx_arm64
54-
target: 14.0
55-
56-
- os: ubuntu-latest
57-
build: cp38-manylinux_x86_64
58-
- os: ubuntu-latest
59-
build: cp39-manylinux_x86_64
60-
- os: ubuntu-latest
61-
build: cp310-manylinux_x86_64
62-
- os: ubuntu-latest
63-
build: cp311-manylinux_x86_64
64-
- os: ubuntu-latest
65-
build: cp312-manylinux_x86_64
66-
- os: ubuntu-latest
67-
build: cp313-manylinux_x86_64
29+
- os: ubuntu-24.04
30+
build: manylinux_x86_64
31+
- os: ubuntu-24.04-arm
32+
build: manylinux_aarch64
6833

6934
steps:
7035
- name: Set macOS deployment target
@@ -77,17 +42,17 @@ jobs:
7742
run: brew install automake libtool
7843

7944
- name: Checkout
80-
uses: actions/checkout@v4
45+
uses: actions/checkout@v5
8146
with:
8247
fetch-depth: 0
8348
fetch-tags: true
8449

8550
- name: Build wheels
8651
uses: pypa/cibuildwheel@v3.1.3
8752
env:
88-
CIBW_BUILD: ${{ matrix.build }}
89-
CIBW_BEFORE_ALL_LINUX: yum install -y zlib-devel bzip2-devel xz-devel netcdf-devel
90-
CIBW_BEFORE_ALL_MACOS: brew install netcdf
53+
CIBW_BUILD: ${{ matrix.pyver }}-${{ matrix.build }}
54+
CIBW_BEFORE_ALL_LINUX: yum install -y zlib-devel bzip2-devel xz-devel netcdf-devel cfitsio-devel
55+
CIBW_BEFORE_ALL_MACOS: brew install netcdf cfitsio
9156
CIBW_BEFORE_BUILD_MACOS: >
9257
ln -s $(dirname $(readlink -f $(which python3)))/python3-config $(dirname $(which python3))/python3-config &&
9358
pip install cmake && ./deps/install_flac.sh
@@ -115,14 +80,14 @@ jobs:
11580
- name: Upload artifacts
11681
uses: actions/upload-artifact@v4
11782
with:
118-
name: cibw-wheel-${{ matrix.build }}
83+
name: cibw-wheel-${{ matrix.pyver }}-${{ matrix.build }}
11984
path: ./wheelhouse/spt3g*.whl
12085

12186
build_sdist:
12287
name: Build source distribution
12388
runs-on: ubuntu-latest
12489
steps:
125-
- uses: actions/checkout@v4
90+
- uses: actions/checkout@v5
12691
with:
12792
fetch-depth: 0
12893
fetch-tags: true
@@ -144,7 +109,7 @@ jobs:
144109
if: github.event_name == 'release' && github.event.action == 'published'
145110
steps:
146111
- name: Download artifacts
147-
uses: actions/download-artifact@v4
112+
uses: actions/download-artifact@v5
148113
with:
149114
# unpacks all CIBW artifacts into dist/
150115
pattern: cibw-*

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[build-system]
22
requires = [
33
"cmake>=3.12",
4-
"setuptools>=61",
4+
"setuptools>=77",
55
"setuptools_scm[toml]>=6.3",
66
"pybind11>=2.13",
77
"wheel",
@@ -13,7 +13,7 @@ name = "spt3g"
1313
readme = "README.rst"
1414
description = "Public Subset of Analysis Software Developed by the SPT-3G Collaboration"
1515
urls = {source = "https://github.com/CMB-S4/spt3g_software"}
16-
license = {file = "LICENSE"}
16+
license = "BSD-2-Clause"
1717
requires-python = ">=3.7"
1818
dependencies = ["numpy", "scipy", "astropy"]
1919
dynamic=["version"]

0 commit comments

Comments
 (0)