Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 10 additions & 14 deletions .github/scripts/build-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,12 @@ set -e -x
# List python versions
ls /opt/python

if [ $PYTHON_VERSION == "3.8" ]; then
PYBIN="/opt/python/cp38-cp38/bin"
elif [ $PYTHON_VERSION == "3.9" ]; then
PYBIN="/opt/python/cp39-cp39/bin"
elif [ $PYTHON_VERSION == "3.10" ]; then
PYBIN="/opt/python/cp310-cp310/bin"
elif [ $PYTHON_VERSION == "3.11" ]; then
PYBIN="/opt/python/cp311-cp311/bin"
elif [ $PYTHON_VERSION == "3.12" ]; then
PYBIN="/opt/python/cp312-cp312/bin"
elif [ $PYTHON_VERSION == "3.13" ]; then
PYBIN="/opt/python/cp313-cp313/bin"
else
echo "Unsupported Python version $PYTHON_VERSION"
# Compute PYBIN from PYTHON_VERSION (e.g., "3.14" -> "cp314-cp314")
PYVER_NO_DOT=${PYTHON_VERSION//./}
PYBIN="/opt/python/cp${PYVER_NO_DOT}-cp${PYVER_NO_DOT}/bin"

if [ ! -d "$PYBIN" ]; then
echo "Python version $PYTHON_VERSION not found at $PYBIN"
exit 1
fi

Expand All @@ -26,6 +18,10 @@ if [ ! -z "$GITHUB_ENV" ]; then
echo "PATH=$PYBIN:$PATH" >> $GITHUB_ENV
fi

# Upgrade pip and prefer binary packages
${PYBIN}/python -m pip install --upgrade pip
export PIP_PREFER_BINARY=1

# install compile-time dependencies
${PYBIN}/pip install numpy==${NUMPY_VERSION}
${PYBIN}/pip install setuptools
Expand Down
4 changes: 4 additions & 0 deletions .github/scripts/build-macos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ source venv/bin/activate
set -x
popd

# Upgrade pip and prefer binary packages
python -m pip install --upgrade pip
export PIP_PREFER_BINARY=1

# Install dependencies
pip install numpy==$NUMPY_VERSION wheel delocate setuptools

Expand Down
3 changes: 3 additions & 0 deletions .github/scripts/build-windows.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,9 @@ if (!$env:NUMPY_VERSION) {

Initialize-Python

# Prefer binary packages over building from source
$env:PIP_PREFER_BINARY = 1

Get-ChildItem env:

# Build the wheel.
Expand Down
20 changes: 6 additions & 14 deletions .github/scripts/test-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,12 @@ set -e -x
# List python versions
ls /opt/python

if [ $PYTHON_VERSION == "3.8" ]; then
PYBIN="/opt/python/cp38-cp38/bin"
elif [ $PYTHON_VERSION == "3.9" ]; then
PYBIN="/opt/python/cp39-cp39/bin"
elif [ $PYTHON_VERSION == "3.10" ]; then
PYBIN="/opt/python/cp310-cp310/bin"
elif [ $PYTHON_VERSION == "3.11" ]; then
PYBIN="/opt/python/cp311-cp311/bin"
elif [ $PYTHON_VERSION == "3.12" ]; then
PYBIN="/opt/python/cp312-cp312/bin"
elif [ $PYTHON_VERSION == "3.13" ]; then
PYBIN="/opt/python/cp313-cp313/bin"
else
echo "Unsupported Python version $PYTHON_VERSION"
# Compute PYBIN from PYTHON_VERSION (e.g., "3.14" -> "cp314-cp314")
PYVER_NO_DOT=${PYTHON_VERSION//./}
PYBIN="/opt/python/cp${PYVER_NO_DOT}-cp${PYVER_NO_DOT}/bin"

if [ ! -d "$PYBIN" ]; then
echo "Python version $PYTHON_VERSION not found at $PYBIN"
exit 1
fi
PYVER=${PYTHON_VERSION//.}
Expand Down
64 changes: 55 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ jobs:
python-arch: 'x86_64'
python-version: '3.13'
numpy-version: '2.2.*'
- os-image: ubuntu-latest
os-name: linux
docker-image: quay.io/pypa/manylinux2014_x86_64
python-arch: 'x86_64'
python-version: '3.14'
numpy-version: '2.3.*'

- os-image: ubuntu-latest
os-name: linux
Expand Down Expand Up @@ -93,62 +99,80 @@ jobs:
python-arch: 'aarch64'
python-version: '3.13'
numpy-version: '2.2.*'
- os-image: ubuntu-latest
os-name: linux
docker-image: quay.io/pypa/manylinux_2_28_aarch64
python-arch: 'aarch64'
python-version: '3.14'
numpy-version: '2.3.*'

- os-image: macos-13
- os-image: macos-15-intel
os-name: mac
python-arch: x86_64
macos-min-version: '10.9'
python-version: '3.9'
numpy-version: '2.0.*'
- os-image: macos-13
- os-image: macos-15-intel
os-name: mac
python-arch: x86_64
macos-min-version: '10.9'
python-version: '3.10'
numpy-version: '2.0.*'
- os-image: macos-13
- os-image: macos-15-intel
os-name: mac
python-arch: x86_64
macos-min-version: '10.9'
python-version: '3.11'
numpy-version: '2.0.*'
- os-image: macos-13
- os-image: macos-15-intel
os-name: mac
python-arch: x86_64
macos-min-version: '10.9'
python-version: '3.12'
numpy-version: '2.0.*'
- os-image: macos-13
- os-image: macos-15-intel
os-name: mac
python-arch: x86_64
macos-min-version: '10.9'
python-version: '3.13'
numpy-version: '2.2.*'
- os-image: macos-15-intel
os-name: mac
python-arch: x86_64
macos-min-version: '10.9'
python-version: '3.14'
numpy-version: '2.3.*'

- os-image: macos-14 # M1
- os-image: macos-15
os-name: mac
python-arch: arm64
macos-min-version: '11.0'
python-version: '3.10'
numpy-version: '2.0.*'
- os-image: macos-14 # M1
- os-image: macos-15
os-name: mac
python-arch: arm64
macos-min-version: '11.0'
python-version: '3.11'
numpy-version: '2.0.*'
- os-image: macos-14 # M1
- os-image: macos-15
os-name: mac
python-arch: arm64
macos-min-version: '11.0'
python-version: '3.12'
numpy-version: '2.0.*'
- os-image: macos-14 # M1
- os-image: macos-15
os-name: mac
python-arch: arm64
macos-min-version: '11.0'
python-version: '3.13'
numpy-version: '2.2.*'
- os-image: macos-15
os-name: mac
python-arch: arm64
macos-min-version: '11.0'
python-version: '3.14'
numpy-version: '2.3.*'

- os-image: windows-latest
os-name: windows
Expand All @@ -175,6 +199,11 @@ jobs:
python-version: '3.13'
python-arch: 'x86_64'
numpy-version: '2.2.*'
- os-image: windows-latest
os-name: windows
python-version: '3.14'
python-arch: 'x86_64'
numpy-version: '2.3.*'

permissions:
security-events: write
Expand Down Expand Up @@ -282,6 +311,12 @@ jobs:
python-arch: 'x86_64'
python-version: '3.13'
numpy-version: '2.2.*'
- os-image: ubuntu-latest
os-name: linux
docker-image: quay.io/pypa/manylinux2014_x86_64
python-arch: 'x86_64'
python-version: '3.14'
numpy-version: '2.3.*'

- os-image: ubuntu-latest
os-name: linux
Expand Down Expand Up @@ -313,6 +348,12 @@ jobs:
python-arch: 'aarch64'
python-version: '3.13'
numpy-version: '2.2.*'
- os-image: ubuntu-latest
os-name: linux
docker-image: quay.io/pypa/manylinux_2_28_aarch64
python-arch: 'aarch64'
python-version: '3.14'
numpy-version: '2.3.*'

- os-image: windows-latest
os-name: windows
Expand All @@ -339,6 +380,11 @@ jobs:
python-version: '3.13'
python-arch: 'x86_64'
numpy-version: '2.2.*'
- os-image: windows-latest
os-name: windows
python-version: '3.14'
python-arch: 'x86_64'
numpy-version: '2.3.*'

runs-on: ${{ matrix.config.os-image }}
# container: ${{ matrix.config.docker-image }}
Expand Down