Skip to content
Open

Testing #1653

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
209 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
1ceae77
removing most Pydantic v1 code
jlnav Jul 3, 2025
e1145d8
remove pydantic-version logic in basic.yml and extra.yml CI
jlnav Jul 3, 2025
4d6bade
removing most Balsam docs, tests, examples
jlnav Jul 3, 2025
43c797f
Bump globus-compute-sdk from 3.8.0 to 3.10.0 in the python-updates group
dependabot[bot] Jul 14, 2025
834c491
Merge pull request #1574 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Jul 15, 2025
ff4a665
Merge pull request #1573 from Libensemble/refactor/remove_pydantic_1_…
jlnav Jul 16, 2025
f8fb39b
Bump the python-updates group with 4 updates
dependabot[bot] Aug 5, 2025
272052f
Bump crate-ci/typos from 1.34.0 to 1.35.1
dependabot[bot] Aug 5, 2025
7435043
Merge pull request #1576 from Libensemble/dependabot/github_actions/d…
jmlarson1 Aug 5, 2025
dbe07cc
Merge pull request #1575 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Aug 5, 2025
4fe8dbb
Bump crate-ci/typos from 1.35.1 to 1.35.3
dependabot[bot] Aug 12, 2025
907e2b8
Merge pull request #1580 from Libensemble/dependabot/github_actions/d…
jmlarson1 Aug 12, 2025
2ca1adb
Bump actions/checkout from 4 to 5 in the actions-updates group
dependabot[bot] Aug 12, 2025
88ac8da
Merge pull request #1579 from Libensemble/dependabot/github_actions/d…
jmlarson1 Aug 12, 2025
ce582d2
Bump crate-ci/typos from 1.35.3 to 1.35.5
dependabot[bot] Aug 19, 2025
043a272
Merge pull request #1581 from Libensemble/dependabot/github_actions/d…
jmlarson1 Aug 19, 2025
817d03e
Bump globus-compute-sdk in the python-updates group
dependabot[bot] Aug 26, 2025
ddcfb8b
Merge pull request #1584 from Libensemble/dependabot/pip/develop/pyth…
jlnav Aug 27, 2025
c052b19
Bump matplotlib from 3.10.5 to 3.10.6 in the python-updates group
dependabot[bot] Sep 2, 2025
36ea32c
Bump crate-ci/typos from 1.35.5 to 1.35.7
dependabot[bot] Sep 2, 2025
972d05e
Merge pull request #1587 from Libensemble/dependabot/github_actions/d…
jmlarson1 Sep 2, 2025
2a10ad8
Merge pull request #1586 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Sep 2, 2025
ddcddba
Bump crate-ci/typos from 1.35.7 to 1.36.2
dependabot[bot] Sep 8, 2025
4c10f40
Merge pull request #1589 from Libensemble/dependabot/github_actions/d…
jmlarson1 Sep 9, 2025
04485be
Adding test for ibcdfo with jax
jmlarson1 Sep 16, 2025
df4a395
clenaup
jmlarson1 Sep 16, 2025
b370e2b
Bump the python-updates group across 1 directory with 3 updates
dependabot[bot] Sep 16, 2025
e6769bc
Starting a manifold sampling example
jmlarson1 Sep 17, 2025
ad42858
Merge pull request #1592 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Sep 17, 2025
0fcc9b5
Fixing ibcdfo tests
jmlarson1 Sep 17, 2025
3fe6376
black
jmlarson1 Sep 17, 2025
00b6fc0
Black
jmlarson1 Sep 17, 2025
63c082a
Updated IBCDFO branch
jmlarson1 Sep 17, 2025
5d0ae3d
reverting
jmlarson1 Sep 17, 2025
334dc8d
Updated IBCDFO branch
jmlarson1 Sep 17, 2025
756a854
Removing unused def
jmlarson1 Sep 18, 2025
92e65d3
Merge pull request #1591 from Libensemble/updating_ibcdfo_example
jmlarson1 Sep 18, 2025
38f3fcb
Merge pull request #1593 from Libensemble/formatting/black_2025_09_17
jmlarson1 Sep 22, 2025
385be08
Bump crate-ci/typos from 1.36.2 to 1.36.3
dependabot[bot] Sep 29, 2025
35610f5
Bump the python-updates group across 1 directory with 2 updates
dependabot[bot] Sep 29, 2025
6c0df1d
Updating IBCDFO branch
jmlarson1 Sep 30, 2025
0920ec1
Merge pull request #1599 from Libensemble/update_msp_branch
jmlarson1 Sep 30, 2025
f8e977d
Merge pull request #1597 from Libensemble/dependabot/github_actions/d…
jmlarson1 Sep 30, 2025
7858075
Merge branch 'develop' into dependabot/pip/develop/python-updates-ee9…
jmlarson1 Sep 30, 2025
ec7add0
Merge pull request #1598 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Oct 1, 2025
f6665b0
Bump crate-ci/typos from 1.36.3 to 1.37.3
dependabot[bot] Oct 6, 2025
b7b539f
typo
jmlarson1 Oct 6, 2025
95dd275
typo
jmlarson1 Oct 6, 2025
1a68569
typo
jmlarson1 Oct 6, 2025
a565a4c
Merge pull request #1601 from Libensemble/dependabot/github_actions/d…
jmlarson1 Oct 6, 2025
11970ae
Bump crate-ci/typos from 1.37.3 to 1.38.1
dependabot[bot] Oct 13, 2025
d74e5f1
Bump the python-updates group with 3 updates
dependabot[bot] Oct 13, 2025
c8bee35
Merge pull request #1602 from Libensemble/dependabot/github_actions/d…
jmlarson1 Oct 13, 2025
beb9b88
Merge pull request #1603 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Oct 14, 2025
6914ad2
Bump globus-compute-sdk in the python-updates group
dependabot[bot] Oct 20, 2025
9d9e235
Merge pull request #1604 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Oct 23, 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
3c69066
Bump crate-ci/typos from 1.38.1 to 1.39.0
dependabot[bot] Nov 3, 2025
65edd68
Merge pull request #1614 from Libensemble/dependabot/github_actions/d…
jmlarson1 Nov 3, 2025
6d1882e
lets use the typical extra-testing setup - use pixi just on basic.yml…
jlnav Nov 14, 2025
4bd358b
Bump supercharge/redis-github-action from 1.8.0 to 1.8.1
dependabot[bot] Nov 17, 2025
0ce169e
Bump crate-ci/typos from 1.39.0 to 1.39.2
dependabot[bot] Nov 17, 2025
2ef96b5
Merge pull request #1619 from Libensemble/dependabot/github_actions/d…
jmlarson1 Nov 17, 2025
169f0d5
Bump crate-ci/typos from 1.39.2 to 1.40.0
dependabot[bot] Dec 1, 2025
dad9a9d
Bump the python-updates group across 1 directory with 3 updates
dependabot[bot] Dec 1, 2025
5037a42
Merge pull request #1624 from Libensemble/dependabot/github_actions/d…
jmlarson1 Dec 3, 2025
e76f0d8
Merge pull request #1625 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Dec 3, 2025
ad609c4
Bump actions/checkout from 5 to 6 in the actions-updates group
dependabot[bot] Dec 3, 2025
0f51b70
Merge pull request #1618 from Libensemble/dependabot/github_actions/d…
jlnav Dec 3, 2025
79b5cbd
Merge pull request #1623 from Libensemble/dependabot/github_actions/d…
jmlarson1 Dec 4, 2025
dc5304f
Merge branch 'develop' into testing/pixi_in_testing
jlnav Dec 5, 2025
281ec19
determining which test dependencies need to be not included for pytho…
jlnav Dec 5, 2025
a113559
remove osx-64 platform (non-arm), bump many dependencies, add black t…
jlnav Dec 5, 2025
162ed58
Bump supercharge/redis-github-action from 1.8.1 to 2
dependabot[bot] Dec 8, 2025
155c234
Bump pytest from 9.0.1 to 9.0.2 in the python-updates group
dependabot[bot] Dec 8, 2025
fe5709c
Merge pull request #1632 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Dec 8, 2025
b6579dc
Merge pull request #1631 from Libensemble/dependabot/github_actions/d…
jmlarson1 Dec 8, 2025
229f7f9
make default "testing" opt method for basic test and unit test be sci…
jlnav Dec 10, 2025
e7a976a
Merge pull request #1636 from Libensemble/refactor/aposmm_scipy_is_no…
jlnav Dec 11, 2025
77e831d
Merge branch 'develop' into testing/pixi_in_testing
jlnav Dec 11, 2025
3167b16
nlopt is now extra dependency in pyproject matrix
jlnav Dec 11, 2025
3ef2c8f
Bump matplotlib from 3.10.7 to 3.10.8 in the python-updates group
dependabot[bot] Dec 15, 2025
c5a2ff8
Merge pull request #1638 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Dec 16, 2025
7e9ba17
try python 3.14 job on basic.ci, using resolved pixi env
jlnav Dec 17, 2025
e350ad6
bumping many dependencies, making globus-compute-sdk newest versions …
jlnav Dec 18, 2025
d958332
add note to "Output management" on where to find docs on sim dirs
jlnav Dec 19, 2025
de11291
Bump globus-compute-sdk from 4.2.0 to 4.3.0 in the python-updates group
dependabot[bot] Dec 22, 2025
aa3d843
Merge pull request #1642 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Dec 23, 2025
08085ff
Bump crate-ci/typos from 1.40.0 to 1.40.1
dependabot[bot] Dec 29, 2025
4e09202
Merge pull request #1643 from Libensemble/dependabot/github_actions/d…
jmlarson1 Jan 4, 2026
96b08cc
Bump crate-ci/typos from 1.40.1 to 1.41.0
dependabot[bot] Jan 5, 2026
069df07
Update sphinx requirement from <9 to <10 in the python-updates group
dependabot[bot] Jan 5, 2026
fb8986c
Merge pull request #1644 from Libensemble/dependabot/github_actions/d…
jmlarson1 Jan 5, 2026
bea2fca
Merge pull request #1641 from Libensemble/docs/some_rearranging
jlnav Jan 6, 2026
2177733
Merge pull request #1645 from Libensemble/dependabot/pip/develop/pyth…
jlnav Jan 9, 2026
506cf9b
Bump crate-ci/typos from 1.41.0 to 1.42.0
dependabot[bot] Jan 13, 2026
ff1a6b8
Fix App Check: Container Path
ax3l Jan 13, 2026
fd3c441
Update Tests
ax3l Jan 13, 2026
87f5a30
Merge pull request #1648 from Libensemble/dependabot/github_actions/d…
jmlarson1 Jan 13, 2026
4fc76f8
Adjusting for new ibcdfo pounders call
jmlarson1 Jan 13, 2026
d36b952
Trying to fix this call
jmlarson1 Jan 13, 2026
60ec8b1
Fixing manifold sampling call
jmlarson1 Jan 13, 2026
3a74471
Black and isort
jmlarson1 Jan 13, 2026
41f608c
Black and isort
jmlarson1 Jan 13, 2026
dddc58b
Merge pull request #1651 from Libensemble/bugfix/ibcdfo_main_jan_2026
jmlarson1 Jan 14, 2026
0f2ee07
Merge pull request #1609 from Libensemble/testing/pixi_in_testing
jlnav Jan 14, 2026
fe9654f
add many "extra" deps with resolutions to pyproject.toml and the lock…
jlnav Jan 14, 2026
e70db08
single quotes
jlnav Jan 14, 2026
63beabd
forgot to enable "extra" envs in extra.yml
jlnav Jan 14, 2026
58fd050
dont run globus-comupte on 3.13 onward?
jlnav Jan 14, 2026
d6a3592
We never did -A -W error on extra tests, did we?
jlnav Jan 15, 2026
4ea05dc
un-bump ax-platform version to 0.5.0
jlnav Jan 15, 2026
6363177
tru just pip installing a newer gpcam?
jlnav Jan 15, 2026
7a8d333
fix gpcam install condition
jlnav Jan 15, 2026
86ad840
Bump prefix-dev/setup-pixi from 0.9.2 to 0.9.3
dependabot[bot] Jan 19, 2026
0a69f7b
Bump crate-ci/typos from 1.42.0 to 1.42.1
dependabot[bot] Jan 19, 2026
c27a7e3
Merge pull request #1659 from Libensemble/dependabot/github_actions/d…
jmlarson1 Jan 20, 2026
73a5311
Bump actions/checkout from 4 to 6 in the actions-updates group
dependabot[bot] Jan 20, 2026
355bdc0
Merge pull request #1657 from Libensemble/dependabot/github_actions/d…
jmlarson1 Jan 20, 2026
bb2a0ef
Merge pull request #1658 from Libensemble/dependabot/github_actions/d…
jmlarson1 Jan 20, 2026
8c3320b
disable pixi cache for now
jlnav Jan 20, 2026
48eb6fd
open up pyenchant lower bound without forcing update
jlnav Jan 21, 2026
a6a1869
Merge pull request #1661 from Libensemble/testing/whats_wrong_with_pixi
jlnav Jan 21, 2026
a77b22a
Merge branch 'develop' into testing/pixi_extra_tests
jlnav Jan 21, 2026
fe20226
remove Tasmanian content - link to Tasmanian page in libe-community-e…
jlnav Jan 23, 2026
7da0e6e
Bump crate-ci/typos from 1.42.1 to 1.42.2
dependabot[bot] Jan 26, 2026
b68c166
Merge pull request #1664 from Libensemble/dependabot/github_actions/d…
jmlarson1 Jan 27, 2026
e845d83
Merge branch 'develop' into testing/pixi_extra_tests
jlnav Jan 28, 2026
2290369
Merge pull request #1663 from Libensemble/refactor/remove_tasmanian
jlnav Jan 28, 2026
298c764
Merge branch 'develop' into testing/pixi_extra_tests
jlnav Jan 28, 2026
e222976
remove tasmanian from pyproject.toml
jlnav Jan 28, 2026
174a373
bump ax versions across extra-test environments
jlnav Jan 29, 2026
4ebbfc3
remove a test on newer pythons
jlnav Jan 29, 2026
f012d33
unbump ax
jlnav Jan 29, 2026
1741382
lock ax again?
jlnav Jan 30, 2026
998aa1c
deps in place to fix ax issues (at least locally), experimenting with…
jlnav Jan 30, 2026
54ad831
huh
jlnav Jan 30, 2026
7b2939c
use the rtd-recommended git-lfs checkout step
jlnav Jan 30, 2026
9fa6d3f
fix
jlnav Jan 30, 2026
01768e4
duh, need to make the dir
jlnav Jan 30, 2026
aa61fa3
lets see what happens if the explicit pdf step is removed - like it w…
jlnav Jan 30, 2026
375a31f
forgot this - gonna squash these commits at the end
jlnav Jan 30, 2026
93421a2
Bump prefix-dev/setup-pixi from 0.9.3 to 0.9.4
dependabot[bot] Feb 3, 2026
4a2216f
Bump crate-ci/typos from 1.42.2 to 1.43.0
dependabot[bot] Feb 3, 2026
61613fc
Merge pull request #1669 from Libensemble/dependabot/github_actions/d…
jmlarson1 Feb 3, 2026
d8c05c7
Merge pull request #1668 from Libensemble/dependabot/github_actions/d…
jmlarson1 Feb 3, 2026
0e20f2f
as suggested, use new ax for 310-312, then old ax for 313
jlnav Feb 6, 2026
4e15db5
Merge remote-tracking branch 'mainline/develop' into fix-app-check-co…
ax3l Feb 6, 2026
075462d
Precendent: Also Check Empty String
ax3l Feb 6, 2026
dbc557c
Cleanup
ax3l Feb 6, 2026
d5d5190
Undo Test Change
ax3l Feb 6, 2026
0c9ed6f
Add Test w/ Precedent
ax3l Feb 6, 2026
4294a4d
Merge pull request #1650 from ax3l/fix-app-check-container
shuds13 Feb 6, 2026
c652f21
Provide relative workdir
shuds13 Feb 6, 2026
1de8c05
Allow additional env vars in GPU setting checks
shuds13 Feb 6, 2026
140baf4
Merge pull request #1672 from Libensemble/feature/container_support
shuds13 Feb 6, 2026
2ad1722
Merge pull request #1667 from Libensemble/docs/ax_status
jlnav Feb 10, 2026
a29e66b
Merge branch 'develop' into testing/pixi_extra_tests
jlnav Feb 10, 2026
6eedfbe
Merge pull request #1654 from Libensemble/testing/pixi_extra_tests
jlnav Feb 10, 2026
226f926
Set executor base dir to ensemble dir
shuds13 Feb 12, 2026
594c25b
Merge pull request #1676 from Libensemble/feature/sim_base_dir
shuds13 Feb 12, 2026
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
79 changes: 21 additions & 58 deletions .github/workflows/basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,29 +17,16 @@ jobs:
matrix:
os: [ubuntu-latest]
mpi-version: [mpich]
python-version: ["3.10", "3.11", "3.12", "3.13"]
pydantic-version: ["2.10.6"]
python-version: ["py310", "py311", "py312", "py313", "py314"]
comms-type: [m, l]
include:
- os: macos-latest
python-version: "3.11"
python-version: "py311"
mpi-version: mpich
pydantic-version: "2.10.6"
comms-type: m
- os: macos-latest
python-version: "3.11"
python-version: "py311"
mpi-version: mpich
pydantic-version: "2.10.6"
comms-type: l
- os: ubuntu-latest
mpi-version: mpich
python-version: "3.10"
pydantic-version: "1.10.21"
comms-type: m
- os: ubuntu-latest
mpi-version: mpich
python-version: "3.10"
pydantic-version: "1.10.21"
comms-type: l

env:
Expand All @@ -52,67 +39,43 @@ jobs:
shell: bash -l {0}

steps:
- uses: actions/checkout@v4
- name: Setup conda - Python ${{ matrix.python-version }}
uses: conda-incubator/setup-miniconda@v3
- uses: actions/checkout@v6
with:
activate-environment: condaenv
miniconda-version: "latest"
python-version: ${{ matrix.python-version }}
channels: conda-forge
channel-priority: strict
auto-update-conda: true
lfs: 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
- name: Checkout lockfile
run: git lfs checkout

# 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 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/setup-pixi@v0.9.4
with:
pixi-version: v0.55.0
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 pydantic==${{ matrix.pydantic-version }}
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' || matrix.python-version == 'py314'
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 All @@ -128,5 +91,5 @@ jobs:
if: contains(github.base_ref, 'develop')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.34.0
- uses: actions/checkout@v6
- uses: crate-ci/typos@v1.43.0
144 changes: 37 additions & 107 deletions .github/workflows/extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,39 +11,24 @@ jobs:
matrix:
os: [ubuntu-latest]
mpi-version: [mpich]
python-version: ['3.10', '3.11', '3.12', '3.13']
pydantic-version: ['2.10.6']
python-version: ["py310e", "py311e", "py312e", "py313e", "py314e"]
comms-type: [m, l]
include:
- os: macos-latest
python-version: '3.13'
python-version: "py312e"
mpi-version: mpich
pydantic-version: '2.10.6'
comms-type: m
- os: macos-latest
python-version: '3.13'
python-version: "py312e"
mpi-version: mpich
pydantic-version: '2.10.6'
comms-type: l
- os: ubuntu-latest
python-version: '3.12'
python-version: "py312e"
mpi-version: mpich
pydantic-version: '2.10.6'
comms-type: t
- os: ubuntu-latest
mpi-version: 'openmpi'
pydantic-version: '2.10.6'
python-version: '3.12'
comms-type: l
- os: ubuntu-latest
mpi-version: mpich
python-version: '3.12'
pydantic-version: '1.10.21'
comms-type: m
- os: ubuntu-latest
mpi-version: mpich
python-version: '3.12'
pydantic-version: '1.10.21'
mpi-version: openmpi
python-version: "py312e"
comms-type: l

env:
Expand All @@ -56,115 +41,60 @@ jobs:
shell: bash -l {0}

steps:
- uses: actions/checkout@v4
- name: Setup conda - Python ${{ matrix.python-version }}
uses: conda-incubator/setup-miniconda@v3
- uses: actions/checkout@v6
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
lfs: true

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

# 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 }}

- name: Install generator dependencies
run: |
conda env update --file install/gen_deps_environment.yml

- 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

- name: Install surmise and Tasmanian
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

- name: Install Balsam on Pydantic 1
if: matrix.pydantic-version == '1.10.21'
run: |
conda install pyzmq
git clone https://github.com/argonne-lcf/balsam.git
sed -i -e "s/pyzmq>=22.1.0,<23.0.0/pyzmq>=23.0.0,<24.0.0/" ./balsam/setup.cfg
cd balsam; pip install -e .; cd ..
- uses: prefix-dev/setup-pixi@v0.9.2
with:
pixi-version: v0.55.0
cache: true
frozen: true
environments: ${{ matrix.python-version }}
activate-environment: ${{ matrix.python-version }}

- 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 }} install/install_ibcdfo.sh

- name: Install libEnsemble, flake8, lock environment
run: |
pip install pydantic==${{ matrix.pydantic-version }}
pip install -e .
flake8 libensemble

- name: Remove test using octave, gpcam on Python 3.13
if: matrix.python-version >= '3.13'
- name: Install gpcam
if: matrix.python-version != 'py313e' && matrix.python-version != 'py314e'
run: |
pixi run -e ${{ matrix.python-version }} pip install gpcam==8.1.13

- name: Remove test using octave, gpcam, globus-compute on Python 3.13
if: matrix.python-version == 'py313e' || matrix.python-version == 'py314e'
run: |
rm ./libensemble/tests/unit_tests/test_ufunc_runners.py # needs globus-compute
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 on Pydantic 2
if: matrix.pydantic-version == '2.10.6'
run: |
pip install redis
pip install proxystore==0.7.0

- name: Remove proxystore test on Pydantic 1
if: matrix.pydantic-version == '1.10.21'
run: |
rm ./libensemble/tests/regression_tests/test_proxystore_integration.py

- name: Remove Balsam/Globus-compute tests on Pydantic 2
if: matrix.pydantic-version == '2.10.6'
run: |
rm ./libensemble/tests/unit_tests/test_ufunc_runners.py
rm ./libensemble/tests/unit_tests/test_executor_balsam.py
rm ./libensemble/tests/regression_tests/test_persistent_gp_multitask_ax.py # needs ax-platform, which doesn't yet support 3.14

- name: Start Redis
if: matrix.os == 'ubuntu-latest'
uses: supercharge/redis-github-action@1.8.0
uses: supercharge/redis-github-action@v2
with:
redis-version: 7

- name: Run extensive tests
- name: Run extensive tests, Ubuntu
if: matrix.os == 'ubuntu-latest'
run: |
./libensemble/tests/run_tests.py -e -${{ matrix.comms-type }}

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

- name: Merge coverage
run: |
mv libensemble/tests/.cov* .
Expand All @@ -179,5 +109,5 @@ jobs:
if: contains(github.base_ref, 'develop')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.34.0
- uses: actions/checkout@v6
- uses: crate-ci/typos@v1.43.0
30 changes: 22 additions & 8 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,31 @@ build:
os: "ubuntu-22.04"
tools:
python: "3.10"
commands:
# from https://docs.readthedocs.com/platform/stable/build-customization.html#support-git-lfs-large-file-storage
# Download and uncompress the binary
# https://git-lfs.github.com/
- wget https://github.com/git-lfs/git-lfs/releases/download/v3.1.4/git-lfs-linux-amd64-v3.1.4.tar.gz
- tar xvfz git-lfs-linux-amd64-v3.1.4.tar.gz git-lfs
# Modify LFS config paths to point where git-lfs binary was downloaded
- git config filter.lfs.process "`pwd`/git-lfs filter-process"
- git config filter.lfs.smudge "`pwd`/git-lfs smudge -- %f"
- git config filter.lfs.clean "`pwd`/git-lfs clean -- %f"
# Make LFS available in current repository
- ./git-lfs install
# Download content from remote
- ./git-lfs fetch
# Make local files to have the real content on them
- ./git-lfs checkout
- asdf plugin add pixi
- asdf install pixi latest
- asdf global pixi latest
- pixi run -e docs build-docs
- mkdir -p $READTHEDOCS_OUTPUT/html/
- cp -r docs/_build/html/** $READTHEDOCS_OUTPUT/html/

sphinx:
configuration: docs/conf.py

formats:
- pdf

python:
install:
- requirements: docs/requirements.txt
- method: pip
path: .
extra_requirements:
- docs
2 changes: 0 additions & 2 deletions docs/advanced_installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -173,11 +173,9 @@ Optional Dependencies for Additional Features

The following packages may be installed separately to enable additional features:

* Balsam_ - Manage and submit applications to the Balsam service with our :ref:`BalsamExecutor<balsam-exctr>`
* pyyaml_ and tomli_ - Parameterize libEnsemble via yaml or toml
* `Globus Compute`_ - Submit simulation or generator function instances to remote Globus Compute endpoints

.. _Balsam: https://balsam.readthedocs.io/en/latest/
.. _conda-forge: https://conda-forge.org/
.. _Conda: https://docs.conda.io/en/latest/
.. _GitHub: https://github.com/Libensemble/libensemble
Expand Down
3 changes: 2 additions & 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 Expand Up @@ -101,6 +101,7 @@ class AxParameterWarning(Warning): # Ensure it's a real warning subclass
"sphinxcontrib.autodoc_pydantic",
"sphinx_design",
"sphinx_copybutton",
"sphinx_lfs_content",
]

spelling_word_list_filename = "spelling_wordlist.txt"
Expand Down
Loading
Loading