Skip to content

Commit 0f2ee07

Browse files
authored
Merge pull request #1609 from Libensemble/testing/pixi_in_testing
Testing/pixi in testing + Python 3.14 basic support
2 parents dddc58b + e350ad6 commit 0f2ee07

5 files changed

Lines changed: 188 additions & 103 deletions

File tree

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pixi.lock filter=lfs diff=lfs merge=lfs -text

.github/workflows/basic.yml

Lines changed: 20 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ jobs:
1717
matrix:
1818
os: [ubuntu-latest]
1919
mpi-version: [mpich]
20-
python-version: ["3.10", "3.11", "3.12", "3.13"]
20+
python-version: ["py310", "py311", "py312", "py313", "py314"]
2121
comms-type: [m, l]
2222
include:
2323
- os: macos-latest
24-
python-version: "3.11"
24+
python-version: "py311"
2525
mpi-version: mpich
2626
comms-type: m
2727
- os: macos-latest
28-
python-version: "3.11"
28+
python-version: "py311"
2929
mpi-version: mpich
3030
comms-type: l
3131

@@ -39,64 +39,44 @@ jobs:
3939
shell: bash -l {0}
4040

4141
steps:
42-
- uses: actions/checkout@v6
43-
- name: Setup conda - Python ${{ matrix.python-version }}
44-
uses: conda-incubator/setup-miniconda@v3
42+
- uses: actions/checkout@v4
4543
with:
46-
activate-environment: condaenv
47-
miniconda-version: "latest"
48-
python-version: ${{ matrix.python-version }}
49-
channels: conda-forge
50-
channel-priority: strict
51-
auto-update-conda: true
52-
53-
- name: Force-update certifi and pip
54-
run: |
55-
python --version
56-
python -m pip install --upgrade pip
57-
python -m pip install -I --upgrade certifi
58-
59-
- name: Install Ubuntu compilers
60-
if: matrix.os == 'ubuntu-latest'
61-
run: |
62-
conda install -c conda-forge gcc_linux-64
44+
lfs: true
6345

64-
# Roundabout solution on macos for proper linking with mpicc
65-
- name: Install macOS compilers
66-
if: matrix.os == 'macos-latest'
67-
run: |
68-
conda install clang_osx-64
46+
- name: Checkout lockfile
47+
run: git lfs checkout
6948

70-
- name: Install basic testing/feature dependencies
71-
run: |
72-
pip install -r install/testing_requirements.txt
73-
pip install -r install/misc_feature_requirements.txt
74-
source install/install_ibcdfo.sh
75-
conda install numpy scipy
49+
- uses: prefix-dev/setup-pixi@v0.9.2
50+
with:
51+
pixi-version: v0.55.0
52+
cache: true
53+
frozen: true
54+
environments: ${{ matrix.python-version }}
55+
activate-environment: ${{ matrix.python-version }}
7656

77-
- name: Install mpi4py and MPI from conda
57+
- name: Install IBCDFO
7858
run: |
79-
conda install mpi4py ${{ matrix.mpi-version }}
59+
pixi run -e ${{ matrix.python-version }} ./install/install_ibcdfo.sh
8060
8161
- name: Install libEnsemble, test flake8
8262
run: |
8363
pip install -e .
8464
flake8 libensemble
8565
8666
- name: Remove various tests on newer pythons
87-
if: matrix.python-version >= '3.11'
67+
if: matrix.python-version == 'py311' || matrix.python-version == 'py312' || matrix.python-version == 'py313' || matrix.python-version == 'py314'
8868
run: |
89-
rm ./libensemble/tests/functionality_tests/test_local_sine_tutorial*.py # matplotlib errors on 3.12
69+
rm ./libensemble/tests/functionality_tests/test_local_sine_tutorial*.py # matplotlib errors on py312
9070
9171
- name: Run simple tests, Ubuntu
9272
if: matrix.os == 'ubuntu-latest'
9373
run: |
94-
./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}
74+
./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}
9575
9676
- name: Run simple tests, macOS
9777
if: matrix.os == 'macos-latest'
9878
run: |
99-
./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}
79+
pixi run -e ${{ matrix.python-version }} ./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}
10080
10181
- name: Merge coverage
10282
run: |

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def __getattr__(cls, name):
3131
return MagicMock()
3232

3333

34-
autodoc_mock_imports = ["ax", "balsam", "gpcam", "IPython", "matplotlib", "pandas", "scipy", "surmise"]
34+
autodoc_mock_imports = ["ax", "gpcam", "IPython", "matplotlib", "pandas", "scipy", "surmise"]
3535

3636
MOCK_MODULES = [
3737
"argparse",

pixi.lock

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)