Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test CI for Python 3.13 #3103

Draft
wants to merge 25 commits into
base: master
Choose a base branch
from
Draft
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
6 changes: 3 additions & 3 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ on:
env:
PY_MIN_VERSION: '3.8'
PY_MID_VERSION: '3.10'
PY_MAX_VERSION: '3.12'
PY_MAX_VERSION: '3.13'

jobs:
coverage:
Expand Down Expand Up @@ -58,10 +58,10 @@ jobs:
run: |
python3 -m venv music-venv
source music-venv/bin/activate
python3 -m pip install 'mpi4py<4' cython numpy setuptools
python3 -m pip install mpi4py cython numpy setuptools
sudo mkdir -p $MUSIC_INSTALL_DIR
sudo chown -R $USER $MUSIC_INSTALL_DIR
curl -L -o MUSIC.zip https://github.com/INCF/MUSIC/archive/refs/tags/${MUSIC_VERSION}.zip
curl -L -o MUSIC.zip https://github.com/JCGoran/MUSIC/archive/refs/heads/fix_mpi4py.zip
unzip MUSIC.zip && mv MUSIC-* MUSIC && cd MUSIC
./autogen.sh
./configure --with-python-sys-prefix --prefix=$MUSIC_INSTALL_DIR --disable-anysource
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/neuron-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ jobs:
DESIRED_CMAKE_VERSION: 3.17
DYNAMIC_PYTHON_CMAKE_VERSION: 3.18
PY_MIN_VERSION: ${{ matrix.config.python_min_version || '3.8' }}
PY_MAX_VERSION: ${{ matrix.config.python_max_version || '3.12' }}
PY_MAX_VERSION: ${{ matrix.config.python_max_version || '3.13' }}
MUSIC_INSTALL_DIR: /opt/MUSIC
MUSIC_VERSION: 1.2.1

strategy:
matrix:
os: [ macOS-12, ubuntu-20.04]
os: [macOS-13, ubuntu-20.04]
config:
- { matrix_eval : "CC=gcc-9 CXX=g++-9", build_mode: "setuptools"}
- { matrix_eval : "CC=gcc-10 CXX=g++-10", build_mode: "cmake", music: ON}
Expand Down Expand Up @@ -207,10 +207,10 @@ jobs:
run: |
python3 -m venv music-venv
source music-venv/bin/activate
python3 -m pip install 'mpi4py<4' cython numpy setuptools
python3 -m pip install mpi4py cython numpy setuptools
sudo mkdir -p $MUSIC_INSTALL_DIR
sudo chown -R $USER $MUSIC_INSTALL_DIR
curl -L -o MUSIC.zip https://github.com/INCF/MUSIC/archive/refs/tags/${MUSIC_VERSION}.zip
curl -L -o MUSIC.zip https://github.com/JCGoran/MUSIC/archive/refs/heads/fix_mpi4py.zip
unzip MUSIC.zip && mv MUSIC-* MUSIC && cd MUSIC
./autogen.sh
# on some systems MPI library detection fails, provide exact flags/compilers
Expand Down
21 changes: 14 additions & 7 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ stages:
python.version: '3.11'
Python312:
python.version: '3.12'
Python313:
python.version: '3.13'

steps:

# Secure files documentation:
Expand Down Expand Up @@ -85,34 +88,38 @@ stages:
- job: 'MacOSWheels'
timeoutInMinutes: 60
pool:
vmImage: 'macOS-12'
vmImage: 'macOS-13'
strategy:
matrix:
Python38:
python.version: '3.8'
python.org.version: '3.8.9'
python.installer.name: 'macosx10.9.pkg'
python.installer.name: '3.8.9-macosx10.9.pkg'
Python39:
python.version: '3.9'
python.org.version: '3.9.13'
python.installer.name: 'macos11.pkg'
python.installer.name: '3.9.13-macos11.pkg'
Python310:
python.version: '3.10'
python.org.version: '3.10.11'
python.installer.name: 'macos11.pkg'
python.installer.name: '3.10.11-macos11.pkg'
Python311:
python.version: '3.11'
python.org.version: '3.11.7'
python.installer.name: 'macos11.pkg'
python.installer.name: '3.11.7-macos11.pkg'
Python312:
python.version: '3.12'
python.org.version: '3.12.0'
python.installer.name: 'macos11.pkg'
python.installer.name: '3.12.0-macos11.pkg'
Python313:
python.version: '3.13'
python.org.version: '3.13.0'
python.installer.name: '3.13.0rc3-macos11.pkg'

steps:

- script: |
installer=python-$(python.org.version)-$(python.installer.name)
installer=python-$(python.installer.name)
url=https://www.python.org/ftp/python/$(python.org.version)/$installer
curl $url -o $installer
sudo installer -pkg $installer -target /
Expand Down
2 changes: 1 addition & 1 deletion nrn_requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ cython
packaging
pytest<=8.1.1 # potential bug from 8.2.0 due to parallelism?
pytest-cov
mpi4py<4 # MUSIC not compatible with MPI 4
mpi4py
numpy
find_libpython
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ class Components:
Components.MUSIC = True
sys.argv.remove("--enable-music")

if Components.RX3D:
if Components.RX3D or Components.MUSIC:
try:
from Cython.Distutils import Extension as CyExtension
from Cython.Distutils import build_ext
Expand Down
Loading