Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
4fefcd6
bump pydantic versions
jlnav Apr 30, 2025
6f014b1
try simplifying basic.yml github actions file with pixi
jlnav Apr 30, 2025
2d7871e
add pixi.lock
jlnav Apr 30, 2025
e6e43cb
versions
jlnav Apr 30, 2025
ca3064d
frozen=true
jlnav Apr 30, 2025
1f0ca2d
add gxx_linux64 for linux
jlnav Apr 30, 2025
0660666
why is this dep not working on macos?
jlnav Apr 30, 2025
120ac91
maybe try pixi run for macos
jlnav Apr 30, 2025
ddb7cc3
try running ibcdfo install via pixi run
jlnav May 1, 2025
49ea1b5
Merge branch 'develop' into testing/pixi_in_testing
jlnav May 2, 2025
b6f3583
lockfile adjust
jlnav May 2, 2025
5645fde
Merge branch 'develop' into testing/pixi_in_testing
jlnav May 2, 2025
a7f629f
Merge branch 'develop' into testing/pixi_in_testing
jlnav May 8, 2025
77ae61b
lock nlopt to previously-used-on-ci version
jlnav May 8, 2025
3084b90
add many extra dependencies to pyproject.toml/lockfile
jlnav May 8, 2025
7558239
first attempt at refactoring environments within pyproject.toml into …
jlnav May 9, 2025
a37f461
Add git-lfs to dev environment, add *.lock to tracking by git-lfs
jlnav May 9, 2025
2489937
explicit step to checkout lockfile in CI
jlnav May 9, 2025
2f40de1
in turn, try simplifying dependency install in extra-ci
jlnav May 9, 2025
b5a7429
experiment with github actions to describe lockfile updates in PR
jlnav May 14, 2025
1f83fbb
what happens if pixi.lock is removed?
jlnav May 14, 2025
d09de8d
try that without cache and frozen
jlnav May 14, 2025
c143109
actions ran without lockfile thankfully, so remove git-lfs file and u…
jlnav May 14, 2025
3abb69b
now try basic-ci only install basic deps
jlnav May 14, 2025
73e8e98
forgot to swap envs elsewhere
jlnav May 14, 2025
3320994
fixes in extra ci
jlnav May 14, 2025
d0821de
add pip install Tasmanian --user
jlnav May 14, 2025
d67ae4f
python 3.10 - 3.13 "basic" dependencies environments. need to add to …
jlnav May 15, 2025
7fffb9a
now slot those environments into the basic.yml matrix
jlnav May 15, 2025
cc97340
some rearranging, prepare extra.yml for pixi usage?
jlnav May 16, 2025
92c34e7
the extra tests need slightly different environments
jlnav May 16, 2025
1fae3e0
additional changes to extra envs
jlnav May 20, 2025
504a873
check if doing pixi run for tests gets the Tasmanian install
jlnav May 21, 2025
9485453
I wonder if this works for pip too
jlnav May 21, 2025
4e5b6f2
pixi run Tasmanian install
jlnav May 21, 2025
4c87cdc
the petsc tests actually get run on macOS normally
jlnav May 22, 2025
dd34c19
we already have Tasmanian?
jlnav May 22, 2025
9ca5bb3
Merge branch 'develop' into testing/pixi_in_testing
jlnav May 30, 2025
cdee3a1
lock gpcam
jlnav May 30, 2025
b9a0410
Merge branch 'develop' into testing/pixi_in_testing
jlnav Jun 5, 2025
0580a92
Merge branch 'develop' into testing/pixi_in_testing
jlnav Oct 29, 2025
08aab02
various new commentary in pyproject.toml - add pixi.lock to git-lfs. …
jlnav Oct 29, 2025
b8227c8
various fixes
jlnav Oct 29, 2025
2221fb0
fix env name
jlnav Oct 29, 2025
c102265
what does it take to use the lockfile?
jlnav Oct 29, 2025
f69d026
looks like I needed this file
jlnav Oct 29, 2025
7b43d51
update lockfile?
jlnav Oct 29, 2025
368b6cc
lets see if these changes at least help with Tasmanian on Ci...?
jlnav Oct 30, 2025
f6a5014
give up and try throwing tasmanian back into extra.yml
jlnav Oct 31, 2025
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
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pixi.lock filter=lfs diff=lfs merge=lfs -text
62 changes: 20 additions & 42 deletions .github/workflows/basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ jobs:
matrix:
os: [ubuntu-latest]
mpi-version: [mpich]
python-version: ["3.10", "3.11", "3.12", "3.13"]
python-version: ["py310", "py311", "py312", "py313"]
comms-type: [m, l]
include:
- os: macos-latest
python-version: "3.11"
python-version: "py311"
mpi-version: mpich
comms-type: m
- os: macos-latest
python-version: "3.11"
python-version: "py311"
mpi-version: mpich
comms-type: l

Expand All @@ -39,66 +39,44 @@ jobs:
shell: bash -l {0}

steps:
- uses: actions/checkout@v5
- name: Setup conda - Python ${{ matrix.python-version }}
uses: conda-incubator/setup-miniconda@v3
- uses: actions/checkout@v4
with:
activate-environment: condaenv
miniconda-version: "latest"
python-version: ${{ matrix.python-version }}
channels: conda-forge
channel-priority: strict
auto-update-conda: true

- name: Force-update certifi and pip
run: |
python --version
python -m pip install --upgrade pip
python -m pip install -I --upgrade certifi

- name: Install Ubuntu compilers
if: matrix.os == 'ubuntu-latest'
run: |
conda install -c conda-forge gcc_linux-64
pip install nlopt==2.9.0
lfs: true

# Roundabout solution on macos for proper linking with mpicc
- name: Install macOS compilers
if: matrix.os == 'macos-latest'
run: |
conda install clang_osx-64
pip install nlopt==2.8.0
- name: Checkout lockfile
run: git lfs checkout

- name: Install basic testing/feature dependencies
run: |
pip install -r install/testing_requirements.txt
pip install -r install/misc_feature_requirements.txt
source install/install_ibcdfo.sh
conda install numpy scipy
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.55.0
cache: true
frozen: true
environments: ${{ matrix.python-version }}
activate-environment: ${{ matrix.python-version }}

- name: Install mpi4py and MPI from conda
- name: Install IBCDFO
run: |
conda install mpi4py ${{ matrix.mpi-version }}
pixi run -e ${{ matrix.python-version }} ./install/install_ibcdfo.sh

- name: Install libEnsemble, test flake8
run: |
pip install -e .
flake8 libensemble

- name: Remove various tests on newer pythons
if: matrix.python-version >= '3.11'
if: matrix.python-version == 'py311' || matrix.python-version == 'py312' || matrix.python-version == 'py313'
run: |
rm ./libensemble/tests/functionality_tests/test_local_sine_tutorial*.py # matplotlib errors on 3.12
rm ./libensemble/tests/functionality_tests/test_local_sine_tutorial*.py # matplotlib errors on py312

- name: Run simple tests, Ubuntu
if: matrix.os == 'ubuntu-latest'
run: |
./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}
./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}

- name: Run simple tests, macOS
if: matrix.os == 'macos-latest'
run: |
./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}
pixi run -e ${{ matrix.python-version }} ./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}

- name: Merge coverage
run: |
Expand Down
82 changes: 20 additions & 62 deletions .github/workflows/extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,24 @@ jobs:
matrix:
os: [ubuntu-latest]
mpi-version: [mpich]
python-version: ['3.10', '3.11', '3.12', '3.13']
python-version: ["py310e", "py311e", "py312e", "py313e"]
comms-type: [m, l]
include:
- os: macos-latest
python-version: '3.13'
python-version: "py313e"
mpi-version: mpich
comms-type: m
- os: macos-latest
python-version: '3.13'
python-version: "py313e"
mpi-version: mpich
comms-type: l
- os: ubuntu-latest
python-version: '3.12'
python-version: "py312e"
mpi-version: mpich
comms-type: t
- os: ubuntu-latest
mpi-version: 'openmpi'
python-version: '3.12'
python-version: 'py312e'
comms-type: l

env:
Expand All @@ -41,84 +41,42 @@ jobs:
shell: bash -l {0}

steps:
- uses: actions/checkout@v5
- name: Setup conda - Python ${{ matrix.python-version }}
uses: conda-incubator/setup-miniconda@v3
- uses: actions/checkout@v4
with:
activate-environment: condaenv
miniconda-version: 'latest'
python-version: ${{ matrix.python-version }}
channels: conda-forge
channel-priority: strict
auto-update-conda: true

- name: Force-update certifi
run: |
python --version
pip install -I --upgrade certifi

- name: Install Ubuntu compilers
if: matrix.os == 'ubuntu-latest'
run: |
conda install -c conda-forge gcc_linux-64
pip install nlopt==2.9.0

# Roundabout solution on macos for proper linking with mpicc
- name: Install macOS compilers
if: matrix.os == 'macos-latest'
run: |
conda install clang_osx-64
pip install nlopt==2.8.0

- name: Install mpi4py and MPI from conda
run: |
conda install mpi4py ${{ matrix.mpi-version }}
lfs: true

- name: Install generator dependencies
run: |
conda env update --file install/gen_deps_environment.yml
- name: Checkout lockfile
run: git lfs checkout

- name: Install gpcam and octave # Neither yet support 3.13
if: matrix.python-version <= '3.12'
run: |
pip install gpcam==8.1.13
conda install octave
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.45.0
environments: ${{ matrix.python-version }}
activate-environment: ${{ matrix.python-version }}

- name: Install surmise and Tasmanian
- name: Install surmise
if: matrix.os == 'ubuntu-latest'
run: |
pip install --upgrade git+https://github.com/bandframework/surmise.git
pip install Tasmanian --user

- name: Install generator dependencies for Ubuntu tests
if: matrix.os == 'ubuntu-latest' && matrix.python-version <= '3.12'
run: |
pip install scikit-build packaging
pixi run -e ${{ matrix.python-version }} pip install Tasmanian

- name: Install other testing dependencies
run: |
pip install -r install/testing_requirements.txt
pip install -r install/misc_feature_requirements.txt
source install/install_ibcdfo.sh
conda install numpy scipy
pixi run -e ${{ matrix.python-version }} pip install gpcam==8.2.0
pixi run -e ${{ matrix.python-version }} ./install/install_ibcdfo.sh

- name: Install libEnsemble, flake8, lock environment
run: |
pip install -e .
flake8 libensemble

- name: Remove test using octave, gpcam on Python 3.13
if: matrix.python-version >= '3.13'
if: matrix.python-version == 'py313e'
run: |
rm ./libensemble/tests/regression_tests/test_persistent_fd_param_finder.py # needs octave, which doesn't yet support 3.13
rm ./libensemble/tests/regression_tests/test_persistent_aposmm_external_localopt.py # needs octave, which doesn't yet support 3.13
rm ./libensemble/tests/regression_tests/test_gpCAM.py # needs gpcam, which doesn't build on 3.13

- name: Install redis/proxystore
run: |
pip install redis
pip install proxystore==0.7.0

- name: Start Redis
if: matrix.os == 'ubuntu-latest'
uses: supercharge/[email protected]
Expand All @@ -127,7 +85,7 @@ jobs:

- name: Run extensive tests
run: |
./libensemble/tests/run_tests.py -e -${{ matrix.comms-type }}
pixi run -e ${{ matrix.python-version }} ./libensemble/tests/run_tests.py -e -${{ matrix.comms-type }}

- name: Merge coverage
run: |
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def __getattr__(cls, name):
return MagicMock()


autodoc_mock_imports = ["ax", "balsam", "gpcam", "IPython", "matplotlib", "pandas", "scipy", "surmise"]
autodoc_mock_imports = ["ax", "gpcam", "IPython", "matplotlib", "pandas", "scipy", "surmise"]

MOCK_MODULES = [
"argparse",
Expand Down
3 changes: 3 additions & 0 deletions pixi.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading