1- name : libEnsemble-CI
1+ name : libEnsemble-complete-CI
2+
23on :
3- pull_request :
4- types :
5- - ready_for_review
6- - opened
7- - reopened
8- - synchronize
4+ workflow_dispatch :
5+
96jobs :
107 test-libE :
11- if : ' ! github.event.pull_request.draft'
128 runs-on : ${{ matrix.os }}
139 strategy :
1410 fail-fast : false
1511 matrix :
1612 os : [ubuntu-latest]
1713 mpi-version : [mpich]
18- python-version : [3.8, 3.9 , "3.10 ", "3.11 "]
14+ python-version : [3.9, "3.10" , "3.11 ", "3.12 "]
1915 comms-type : [m, l]
2016 include :
2117 - os : macos-latest
22- python-version : 3.9
18+ python-version : 3.11
2319 mpi-version : " mpich=4.0.3"
2420 comms-type : m
2521 - os : macos-latest
26- python-version : 3.9
22+ python-version : 3.11
2723 mpi-version : " mpich=4.0.3"
2824 comms-type : l
2925 - os : ubuntu-latest
3228 comms-type : t
3329 - os : ubuntu-latest
3430 mpi-version : " openmpi"
35- python-version : " 3.10 "
31+ python-version : " 3.11 "
3632 comms-type : l
33+
3734 env :
3835 HYDRA_LAUNCHER : " fork"
3936 TERM : xterm-256color
4441 shell : bash -l {0}
4542
4643 steps :
47- - uses : actions/checkout@v3
44+ - uses : actions/checkout@v4
4845 - name : Setup conda - Python ${{ matrix.python-version }}
4946 uses : conda-incubator/setup-miniconda@v2
5047 with :
7471 python --version
7572 pip install -I --upgrade certifi
7673
77- # - name: Windows - Add clang path to $PATH env
78- # shell: bash
79- # if: matrix.os == 'windows-latest'
80- # run: |
81- # echo "PATH=$PATH:C:\msys64\mingw64\bin" >> $GITHUB_ENV
82- # echo "PATH=$PATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64" >> $GITHUB_ENV
83-
8474 - name : Install Ubuntu compilers
8575 if : matrix.os == 'ubuntu-latest'
8676 run : conda install gcc_linux-64
9383 mkdir ../sdk; tar xf MacOSX10.15.sdk.tar.xz -C ../sdk
9484 conda install clang_osx-64
9585
96- # - name: Setup MPI (${{ matrix.mpi-version }})
97- # uses: mpi4py/setup-mpi@v1
98- # if: matrix.os == 'windows-latest'
99- # with:
100- # mpi: ${{ matrix.mpi-version }}
101-
102- # - name: Install mpi4py on Windows
103- # if: matrix.os == 'windows-latest'
104- # run: pip install mpi4py
105-
10686 - name : Install mpi4py and MPI from conda
10787 if : (matrix.python-version != '3.10' && matrix.os == 'ubuntu-latest') || matrix.os == 'macos-latest'
10888 run : |
@@ -115,11 +95,14 @@ jobs:
11595 pip install mpi4py
11696
11797 - name : Install generator dependencies
118- if : matrix.os != 'windows-latest' && steps.cache.outputs.cache-hit != 'true'
98+ if : steps.cache.outputs.cache-hit != 'true'
11999 run : |
120100 python -m pip install --upgrade pip
121101 conda env update --file install/gen_deps_environment.yml
122102
103+ - name : Install ax-platform
104+ if : matrix.python-version != '3.12'
105+ run : |
123106 pip install ax-platform==0.2.8
124107
125108 - name : Install surmise
@@ -128,7 +111,7 @@ jobs:
128111 pip install --upgrade git+https://github.com/bandframework/surmise.git@develop
129112
130113 - name : Build ytopt and dependencies
131- if : matrix.python-version ! = '3.11' && matrix.os != 'windows-latest ' && matrix.os != 'macos-latest'
114+ if : matrix.python-version < = '3.10 ' && matrix.os != 'macos-latest'
132115 run : |
133116 pip install scikit-learn==1.1.2
134117 pip install pandas==1.5.3
@@ -147,18 +130,9 @@ jobs:
147130 pip install .
148131 cd ..
149132
150- # - name: Install some generator dependencies on Windows
151- # if: matrix.os == 'windows-latest'
152- # run: |
153- # python -m pip install --upgrade pip
154- # conda install nlopt
155- # conda install scipy
156- # pip install mpmath
157-
158133 - name : Install generator dependencies for Ubuntu tests
159- if : matrix.os == 'ubuntu-latest' && steps.cache.outputs.cache-hit != 'true'
134+ if : matrix.os == 'ubuntu-latest' && steps.cache.outputs.cache-hit != 'true' && matrix.python-version != '3.12'
160135 run : |
161- conda install octave
162136 sudo apt-get install bc
163137
164138 # begin heffte build and dependencies
@@ -177,16 +151,17 @@ jobs:
177151 # pip install git+https://github.com/dragonfly/dragonfly.git
178152 pip install git+https://github.com/jlnav/dragonfly.git@fix/remove_npobject
179153
180- pip install scikit-build packaging Tasmanian --user
181154
182155 - name : Copy heffte exe on cache-hit
183- if : matrix.os == 'ubuntu-latest' && steps.cache.outputs.cache-hit != 'false'
156+ if : matrix.os == 'ubuntu-latest' && steps.cache.outputs.cache-hit != 'false' && matrix.python-version != '3.12'
184157 run : |
185158 cd /home/runner/work/libensemble/libensemble
186159 cp ./heffte/build/benchmarks/speed3d_c2c ./libensemble/tests/regression_tests/
187160
188161 - name : Install other testing dependencies
189162 run : |
163+ conda install octave
164+ pip install scikit-build packaging Tasmanian --user
190165 conda install pyzmq
191166 pip install -r install/testing_requirements.txt
192167 pip install -r install/misc_feature_requirements.txt
@@ -212,53 +187,39 @@ jobs:
212187 pip install -e .
213188 flake8 libensemble
214189
215- - name : Remove ytopt-heffte test on Python 3.11 (easy way)
216- if : matrix.python-version = = '3.11'
190+ - name : Remove various tests on newer pythons
191+ if : matrix.python-version > = '3.11'
217192 run : |
193+ rm ./libensemble/tests/regression_tests/test_heffte.py
218194 rm ./libensemble/tests/regression_tests/test_ytopt_heffte.py
195+ rm ./libensemble/tests/regression_tests/test_persistent_gp.py
196+ rm ./libensemble/tests/regression_tests/test_persistent_gp_multitask_ax.py
219197
220198 - name : Run extensive tests, Ubuntu
221199 if : matrix.os == 'ubuntu-latest'
222200 run : |
223- ./libensemble/tests/run-tests.sh -e -A "-W error" -z -${{ matrix.comms-type }}
224-
225- # - name: Run simple tests, Windows
226- # if: matrix.os == 'windows-latest'
227- # run: |
228- # ./libensemble/tests/run-tests.sh -A "-W error" -z -${{ matrix.comms-type }}
201+ ./libensemble/tests/run-tests.sh -e -z -${{ matrix.comms-type }}
229202
230203 - name : Run extensive tests, macOS
231204 if : matrix.os == 'macos-latest'
232205 env :
233206 CONDA_BUILD_SYSROOT : /Users/runner/work/libensemble/sdk/MacOSX10.15.sdk
234207 run : |
235- ./libensemble/tests/run-tests.sh -e -A "-W error" - z -${{ matrix.comms-type }}
208+ ./libensemble/tests/run-tests.sh -e -z -${{ matrix.comms-type }}
236209
237- - name : Merge coverage, run Coveralls
238- env :
239- COVERALLS_PARALLEL : true
210+ - name : Merge coverage
240211 run : |
241212 mv libensemble/tests/.cov* .
242- coveralls --service=github
243213
244- coveralls :
245- name : Notify coveralls of all jobs completing
246- needs : [test-libE]
247- if : ' ! github.event.pull_request.draft'
248- runs-on : ubuntu-latest
249- container : python:3-slim
250- steps :
251- - name : Finished
252- run : |
253- pip3 install --upgrade coveralls
254- coveralls --finish
214+ - name : Upload coverage reports to Codecov
215+ uses : codecov/codecov-action@v3
255216 env :
256- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
217+ CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
257218
258219 spellcheck :
259220 name : Spellcheck release branch
260- if : contains(github.base_ref, 'main ')
221+ if : contains(github.base_ref, 'develop ')
261222 runs-on : ubuntu-latest
262223 steps :
263- - uses : actions/checkout@v3
264- - uses : crate-ci/typos@v1.0.4
224+ - uses : actions/checkout@v4
225+ - uses : crate-ci/typos@v1.16.23
0 commit comments