Skip to content

Commit ce47158

Browse files
authored
Merge pull request #1237 from Libensemble/release/v_1.2.0
Release/v 1.2.0
2 parents 22d654d + eb15167 commit ce47158

148 files changed

Lines changed: 3101 additions & 1971 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/basic.yml

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,28 @@ jobs:
1818
os: [ubuntu-latest]
1919
mpi-version: [mpich]
2020
python-version: [3.9, "3.10", "3.11", "3.12"]
21+
pydantic-version: ["2.5.2"]
2122
comms-type: [m, l]
2223
include:
2324
- os: macos-latest
24-
python-version: 3.11
25+
python-version: "3.11"
2526
mpi-version: "mpich=4.0.3"
27+
pydantic-version: "2.5.2"
2628
comms-type: m
2729
- os: macos-latest
28-
python-version: 3.11
30+
python-version: "3.11"
2931
mpi-version: "mpich=4.0.3"
32+
pydantic-version: "2.5.2"
33+
comms-type: l
34+
- os: ubuntu-latest
35+
mpi-version: mpich
36+
python-version: "3.10"
37+
pydantic-version: "1.10.13"
38+
comms-type: m
39+
- os: ubuntu-latest
40+
mpi-version: mpich
41+
python-version: "3.10"
42+
pydantic-version: "1.10.13"
3043
comms-type: l
3144

3245
env:
@@ -41,7 +54,7 @@ jobs:
4154
steps:
4255
- uses: actions/checkout@v4
4356
- name: Setup conda - Python ${{ matrix.python-version }}
44-
uses: conda-incubator/setup-miniconda@v2
57+
uses: conda-incubator/setup-miniconda@v3
4558
with:
4659
activate-environment: condaenv
4760
miniconda-version: "latest"
@@ -50,7 +63,7 @@ jobs:
5063
channel-priority: flexible
5164
auto-update-conda: true
5265

53-
- uses: actions/cache/restore@v3
66+
- uses: actions/cache/restore@v4
5467
name: Restore cached dependencies
5568
id: cache
5669
if: matrix.os == 'ubuntu-latest'
@@ -61,7 +74,7 @@ jobs:
6174
/usr/share/miniconda3/bin
6275
/usr/share/miniconda3/lib
6376
/usr/share/miniconda3/include
64-
key: libe-${{ github.ref_name }}-${{ matrix.python-version }}-${{ matrix.comms-type }}
77+
key: libe-${{ github.ref_name }}-${{ matrix.python-version }}-${{ matrix.comms-type }}-${{ matrix.pydantic-version }}-basic
6578

6679
- name: Force-update certifi
6780
run: |
@@ -85,18 +98,26 @@ jobs:
8598
pip install -r install/testing_requirements.txt
8699
pip install -r install/misc_feature_requirements.txt
87100
101+
git clone --recurse-submodules -b develop https://github.com/POptUS/IBCDFO.git
102+
pushd IBCDFO/minq/py/minq5/
103+
export PYTHONPATH="$PYTHONPATH:$(pwd)"
104+
echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV
105+
popd
106+
pushd IBCDFO/ibcdfo_pypkg/
107+
pip install -e .
108+
popd
109+
88110
- name: Install mpi4py and MPI from conda
89111
run: |
90112
conda install mpi4py ${{ matrix.mpi-version }}
91113
92114
- name: Install generator dependencies
93-
if: matrix.os != 'windows-latest' && steps.cache.outputs.cache-hit != 'true'
94115
run: |
95116
python -m pip install --upgrade pip
96-
pip install mpmath
117+
pip install mpmath matplotlib
97118
conda install numpy nlopt scipy
98119
99-
- uses: actions/cache/save@v3
120+
- uses: actions/cache/save@v4
100121
name: Save dependencies to cache
101122
if: matrix.os == 'ubuntu-latest'
102123
with:
@@ -108,11 +129,17 @@ jobs:
108129
/usr/share/miniconda3/include
109130
key: libe-${{ github.ref_name }}-${{ matrix.python-version }}-${{ matrix.comms-type }}
110131

111-
- name: Install libEnsemble, flake8, lock environment
132+
- name: Install libEnsemble, flake8
112133
run: |
134+
pip install pydantic==${{ matrix.pydantic-version }}
113135
pip install -e .
114136
flake8 libensemble
115137
138+
- name: Remove various tests on newer pythons
139+
if: matrix.python-version >= '3.11'
140+
run: |
141+
rm ./libensemble/tests/functionality_tests/test_local_sine_tutorial*.py # matplotlib errors on 3.12
142+
116143
- name: Run simple tests, Ubuntu
117144
if: matrix.os == 'ubuntu-latest'
118145
run: |
@@ -130,7 +157,7 @@ jobs:
130157
mv libensemble/tests/.cov* .
131158
132159
- name: Upload coverage reports to Codecov
133-
uses: codecov/codecov-action@v3
160+
uses: codecov/codecov-action@v4
134161
env:
135162
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
136163

@@ -140,4 +167,4 @@ jobs:
140167
runs-on: ubuntu-latest
141168
steps:
142169
- uses: actions/checkout@v4
143-
- uses: crate-ci/typos@v1.16.23
170+
- uses: crate-ci/typos@v1.18.1

.github/workflows/extra.yml

Lines changed: 59 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,38 @@ jobs:
1212
os: [ubuntu-latest]
1313
mpi-version: [mpich]
1414
python-version: [3.9, "3.10", "3.11", "3.12"]
15+
pydantic-version: ["2.5.2"]
1516
comms-type: [m, l]
1617
include:
1718
- os: macos-latest
1819
python-version: 3.11
1920
mpi-version: "mpich=4.0.3"
21+
pydantic-version: "2.5.2"
2022
comms-type: m
2123
- os: macos-latest
2224
python-version: 3.11
2325
mpi-version: "mpich=4.0.3"
26+
pydantic-version: "2.5.2"
2427
comms-type: l
2528
- os: ubuntu-latest
2629
python-version: "3.10"
2730
mpi-version: "mpich"
31+
pydantic-version: "2.5.2"
2832
comms-type: t
2933
- os: ubuntu-latest
3034
mpi-version: "openmpi"
31-
python-version: "3.11"
35+
pydantic-version: "2.5.2"
36+
python-version: "3.12"
37+
comms-type: l
38+
- os: ubuntu-latest
39+
mpi-version: mpich
40+
python-version: "3.10"
41+
pydantic-version: "1.10.13"
42+
comms-type: m
43+
- os: ubuntu-latest
44+
mpi-version: mpich
45+
python-version: "3.10"
46+
pydantic-version: "1.10.13"
3247
comms-type: l
3348

3449
env:
@@ -43,7 +58,7 @@ jobs:
4358
steps:
4459
- uses: actions/checkout@v4
4560
- name: Setup conda - Python ${{ matrix.python-version }}
46-
uses: conda-incubator/setup-miniconda@v2
61+
uses: conda-incubator/setup-miniconda@v3
4762
with:
4863
activate-environment: condaenv
4964
miniconda-version: "latest"
@@ -52,7 +67,7 @@ jobs:
5267
channel-priority: flexible
5368
auto-update-conda: true
5469

55-
- uses: actions/cache/restore@v3
70+
- uses: actions/cache/restore@v4
5671
name: Restore cached dependencies
5772
id: cache
5873
if: matrix.os == 'ubuntu-latest'
@@ -64,7 +79,7 @@ jobs:
6479
/usr/share/miniconda3/bin
6580
/usr/share/miniconda3/lib
6681
/usr/share/miniconda3/include
67-
key: libe-${{ github.ref_name }}-${{ matrix.python-version }}-${{ matrix.comms-type }}
82+
key: libe-${{ github.ref_name }}-${{ matrix.python-version }}-${{ matrix.comms-type }}-${{ matrix.pydantic-version }}-extra
6883

6984
- name: Force-update certifi
7085
run: |
@@ -95,20 +110,21 @@ jobs:
95110
pip install mpi4py
96111
97112
- name: Install generator dependencies
98-
if: steps.cache.outputs.cache-hit != 'true'
99113
run: |
100114
python -m pip install --upgrade pip
115+
pip install mpmath matplotlib
101116
conda env update --file install/gen_deps_environment.yml
102117
103118
- name: Install ax-platform
104119
if: matrix.python-version != '3.12'
105120
run: |
106121
pip install ax-platform==0.2.8
122+
pip install gpcam
107123
108124
- name: Install surmise
109-
if: matrix.os != 'macos-latest' && steps.cache.outputs.cache-hit != 'true'
125+
if: matrix.os != 'macos-latest'
110126
run: |
111-
pip install --upgrade git+https://github.com/bandframework/surmise.git@develop
127+
pip install --upgrade git+https://github.com/bandframework/surmise.git
112128
113129
- name: Build ytopt and dependencies
114130
if: matrix.python-version <= '3.10' && matrix.os != 'macos-latest'
@@ -131,33 +147,14 @@ jobs:
131147
cd ..
132148
133149
- name: Install generator dependencies for Ubuntu tests
134-
if: matrix.os == 'ubuntu-latest' && steps.cache.outputs.cache-hit != 'true' && matrix.python-version != '3.12'
150+
if: matrix.os == 'ubuntu-latest' && matrix.python-version != '3.12'
135151
run: |
136152
sudo apt-get install bc
137153
138-
# begin heffte build and dependencies
139-
sudo apt install libfftw3-dev
140-
git clone https://github.com/icl-utk-edu/heffte.git
141-
mkdir heffte/build
142-
cd heffte/build
143-
pwd
144-
cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=ON -D CMAKE_INSTALL_PREFIX=./ -D Heffte_ENABLE_AVX=ON -D Heffte_ENABLE_FFTW=ON ../
145-
make -j 4
146-
make install
147-
cp ./benchmarks/speed3d_c2c ../../libensemble/tests/regression_tests/
148-
# end heffte build and dependencies
149-
150154
# pip install dragonfly-opt
151155
# pip install git+https://github.com/dragonfly/dragonfly.git
152156
pip install git+https://github.com/jlnav/dragonfly.git@fix/remove_npobject
153157
154-
155-
- name: Copy heffte exe on cache-hit
156-
if: matrix.os == 'ubuntu-latest' && steps.cache.outputs.cache-hit != 'false' && matrix.python-version != '3.12'
157-
run: |
158-
cd /home/runner/work/libensemble/libensemble
159-
cp ./heffte/build/benchmarks/speed3d_c2c ./libensemble/tests/regression_tests/
160-
161158
- name: Install other testing dependencies
162159
run: |
163160
conda install octave
@@ -169,7 +166,31 @@ jobs:
169166
sed -i -e "s/pyzmq>=22.1.0,<23.0.0/pyzmq>=23.0.0,<24.0.0/" ./balsam/setup.cfg
170167
cd balsam; pip install -e .; cd ..
171168
172-
- uses: actions/cache/save@v3
169+
git clone --recurse-submodules -b develop https://github.com/POptUS/IBCDFO.git
170+
pushd IBCDFO/minq/py/minq5/
171+
export PYTHONPATH="$PYTHONPATH:$(pwd)"
172+
echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV
173+
popd
174+
pushd IBCDFO/ibcdfo_pypkg/
175+
pip install -e .
176+
popd
177+
178+
- name: Build heffte
179+
if: matrix.os != 'macos-latest'
180+
run: |
181+
# begin heffte build and dependencies
182+
sudo apt install libfftw3-dev
183+
git clone https://github.com/icl-utk-edu/heffte.git
184+
mkdir heffte/build
185+
cd heffte/build
186+
pwd
187+
cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=ON -D CMAKE_INSTALL_PREFIX=./ -D Heffte_ENABLE_AVX=ON -D Heffte_ENABLE_FFTW=ON ../
188+
make -j 4
189+
make install
190+
cp ./benchmarks/speed3d_c2c ../../libensemble/tests/regression_tests/
191+
# end heffte build and dependencies
192+
193+
- uses: actions/cache/save@v4
173194
name: Save dependencies to cache
174195
if: matrix.os == 'ubuntu-latest'
175196
with:
@@ -184,17 +205,24 @@ jobs:
184205

185206
- name: Install libEnsemble, flake8, lock environment
186207
run: |
208+
pip install pydantic==${{ matrix.pydantic-version }}
187209
pip install -e .
188210
flake8 libensemble
189211
190212
- name: Remove various tests on newer pythons
191213
if: matrix.python-version >= '3.11'
192214
run: |
193-
rm ./libensemble/tests/regression_tests/test_heffte.py
194215
rm ./libensemble/tests/regression_tests/test_ytopt_heffte.py
216+
rm ./libensemble/tests/regression_tests/test_gpCAM.py
195217
rm ./libensemble/tests/regression_tests/test_persistent_gp.py
196218
rm ./libensemble/tests/regression_tests/test_persistent_gp_multitask_ax.py
197219
220+
- name: Remove Balsam/Globus-compute tests on Pydantic 2
221+
if: matrix.pydantic-version == '2.5.2'
222+
run: |
223+
rm ./libensemble/tests/unit_tests/test_ufunc_runners.py
224+
rm ./libensemble/tests/unit_tests/test_executor_balsam.py
225+
198226
- name: Run extensive tests, Ubuntu
199227
if: matrix.os == 'ubuntu-latest'
200228
run: |
@@ -212,7 +240,7 @@ jobs:
212240
mv libensemble/tests/.cov* .
213241
214242
- name: Upload coverage reports to Codecov
215-
uses: codecov/codecov-action@v3
243+
uses: codecov/codecov-action@v4
216244
env:
217245
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
218246

@@ -222,4 +250,4 @@ jobs:
222250
runs-on: ubuntu-latest
223251
steps:
224252
- uses: actions/checkout@v4
225-
- uses: crate-ci/typos@v1.16.23
253+
- uses: crate-ci/typos@v1.18.1

.wci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ description: |
1616
language: Python
1717

1818
release:
19-
version: 1.1.0
20-
date: 2023-11-08
19+
version: 1.2.0
20+
date: 2024-02-08
2121

2222
documentation:
2323
general: https://libensemble.readthedocs.io

0 commit comments

Comments
 (0)