diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml index dcdbd047d3..000ed9e85c 100644 --- a/.github/workflows/basic.yml +++ b/.github/workflows/basic.yml @@ -63,19 +63,6 @@ jobs: channel-priority: flexible auto-update-conda: true - - uses: actions/cache/restore@v4 - name: Restore cached dependencies - id: cache - if: matrix.os == 'ubuntu-latest' - with: - path: | - /home/runner/.local - /usr/share/miniconda3/envs/condaenv - /usr/share/miniconda3/bin - /usr/share/miniconda3/lib - /usr/share/miniconda3/include - key: libe-${{ github.ref_name }}-${{ matrix.python-version }}-${{ matrix.comms-type }}-${{ matrix.pydantic-version }}-basic - - name: Force-update certifi run: | python --version @@ -95,15 +82,7 @@ jobs: run: | pip install -r install/testing_requirements.txt pip install -r install/misc_feature_requirements.txt - - git clone --recurse-submodules -b develop https://github.com/POptUS/IBCDFO.git - pushd IBCDFO/minq/py/minq5/ - export PYTHONPATH="$PYTHONPATH:$(pwd)" - echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV - popd - pushd IBCDFO/ibcdfo_pypkg/ - pip install -e . - popd + source install/install_ibcdfo.sh - name: Install mpi4py and MPI from conda run: | @@ -115,18 +94,6 @@ jobs: pip install mpmath matplotlib conda install numpy nlopt scipy - - uses: actions/cache/save@v4 - name: Save dependencies to cache - if: matrix.os == 'ubuntu-latest' - with: - path: | - /home/runner/.local - /usr/share/miniconda3/envs/condaenv - /usr/share/miniconda3/bin - /usr/share/miniconda3/lib - /usr/share/miniconda3/include - key: libe-${{ github.ref_name }}-${{ matrix.python-version }}-${{ matrix.comms-type }} - - name: Install libEnsemble, flake8 run: | pip install pydantic==${{ matrix.pydantic-version }} diff --git a/.github/workflows/extra.yml b/.github/workflows/extra.yml index 8761777f7a..11ebcdbb6e 100644 --- a/.github/workflows/extra.yml +++ b/.github/workflows/extra.yml @@ -67,19 +67,6 @@ jobs: channel-priority: flexible auto-update-conda: true - - uses: actions/cache/restore@v4 - name: Restore cached dependencies - id: cache - if: matrix.os == 'ubuntu-latest' - with: - path: | - /home/runner/.local - /usr/share/miniconda3/envs/condaenv - /usr/share/miniconda3/bin - /usr/share/miniconda3/lib - /usr/share/miniconda3/include - key: libe-${{ github.ref_name }}-${{ matrix.python-version }}-${{ matrix.comms-type }}-${{ matrix.pydantic-version }}-extra - - name: Force-update certifi run: | python --version @@ -96,33 +83,20 @@ jobs: conda install clang_osx-64 - name: Install mpi4py and MPI from conda - if: (matrix.python-version != '3.10' && matrix.os == 'ubuntu-latest') || matrix.os == 'macos-latest' run: | conda install mpi4py ${{ matrix.mpi-version }} - - name: Install mpi4py from pip, MPI from conda - if: matrix.python-version == '3.10' && matrix.os == 'ubuntu-latest' - run: | - conda install ${{ matrix.mpi-version }} - pip install mpi4py - - name: Install generator dependencies run: | - python -m pip install --upgrade pip - pip install mpmath - pip install matplotlib conda env update --file install/gen_deps_environment.yml - #- name: Install ax-platform - # run: pip install "ax-platform<=0.4.0" - - name: Install gpcam if: matrix.python-version != '3.12' run: | pip install gpcam - name: Install surmise - if: matrix.os != 'macos-latest' + if: matrix.os == 'ubuntu-latest' run: | pip install --upgrade git+https://github.com/bandframework/surmise.git @@ -130,11 +104,8 @@ jobs: if: matrix.os == 'ubuntu-latest' && matrix.python-version != '3.12' run: | sudo apt-get install bc - - # pip install dragonfly-opt - # pip install git+https://github.com/dragonfly/dragonfly.git - pip install git+https://github.com/jlnav/dragonfly.git@fix/remove_npobject - pip install scikit-build packaging Tasmanian --user + pip install -r install/ubuntu_no312.txt + pip install Tasmanian --user - name: Install Balsam on Pydantic 1 if: matrix.pydantic-version == '1.10.17' @@ -149,27 +120,7 @@ jobs: conda install octave pip install -r install/testing_requirements.txt pip install -r install/misc_feature_requirements.txt - - git clone --recurse-submodules -b develop https://github.com/POptUS/IBCDFO.git - pushd IBCDFO/minq/py/minq5/ - export PYTHONPATH="$PYTHONPATH:$(pwd)" - echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV - popd - pushd IBCDFO/ibcdfo_pypkg/ - pip install -e . - popd - - - uses: actions/cache/save@v4 - name: Save dependencies to cache - if: matrix.os == 'ubuntu-latest' - with: - path: | - /home/runner/.local - /usr/share/miniconda3/envs/condaenv - /usr/share/miniconda3/bin - /usr/share/miniconda3/lib - /usr/share/miniconda3/include - key: libe-${{ github.ref_name }}-${{ matrix.python-version }}-${{ matrix.comms-type }} + source install/install_ibcdfo.sh - name: Install libEnsemble, flake8, lock environment run: | @@ -183,11 +134,13 @@ jobs: # rm ./libensemble/tests/regression_tests/test_gpCAM.py rm ./libensemble/tests/regression_tests/test_persistent_gp.py - - name: Remove test for persistent Tasmanian on Python 3.12 + - name: Remove test for persistent Tasmanian, Surmise on Python 3.12 if: matrix.python-version >= '3.12' run: | rm ./libensemble/tests/regression_tests/test_persistent_tasmanian.py rm ./libensemble/tests/regression_tests/test_persistent_tasmanian_async.py + rm ./libensemble/tests/regression_tests/test_persistent_surmise_calib.py + rm ./libensemble/tests/regression_tests/test_persistent_surmise_killsims.py - name: Install redis/proxystore on Pydantic 2 if: matrix.pydantic-version == '2.8.2' @@ -212,16 +165,10 @@ jobs: with: redis-version: 7 - - name: Run extensive tests, Ubuntu - if: matrix.os == 'ubuntu-latest' + - name: Run extensive tests run: | ./libensemble/tests/run-tests.sh -e -z -${{ matrix.comms-type }} - - name: Run extensive tests, macOS - if: matrix.os == 'macos-latest' - run: | - ./libensemble/tests/run-tests.sh -e -z -${{ matrix.comms-type }} - - name: Merge coverage run: | mv libensemble/tests/.cov* . diff --git a/install/install_ibcdfo.sh b/install/install_ibcdfo.sh new file mode 100644 index 0000000000..efd5f6dcb5 --- /dev/null +++ b/install/install_ibcdfo.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +git clone --recurse-submodules -b develop https://github.com/POptUS/IBCDFO.git +pushd IBCDFO/minq/py/minq5/ +export PYTHONPATH="$PYTHONPATH:$(pwd)" +echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV +popd +pushd IBCDFO/ibcdfo_pypkg/ +pip install -e . +popd diff --git a/install/testing_requirements.txt b/install/testing_requirements.txt index bf07e69d11..e1d1fda382 100644 --- a/install/testing_requirements.txt +++ b/install/testing_requirements.txt @@ -7,3 +7,4 @@ mock==5.1.0 python-dateutil==2.9.0.post0 anyio==4.4.0 matplotlib==3.9.2 +mpmath==1.3.0 diff --git a/install/ubuntu_no312.txt b/install/ubuntu_no312.txt new file mode 100644 index 0000000000..c66fb45a01 --- /dev/null +++ b/install/ubuntu_no312.txt @@ -0,0 +1,5 @@ +gpcam==8.1.6 +scikit-build==0.18.1 +packaging==24.1 +git+https://github.com/jlnav/dragonfly.git@fix/remove_npobject +git+https://github.com/bandframework/surmise.git