[WIP] Fix CI by upgrading to new GROMACS #363
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
push: | |
branches: | |
- "master" | |
pull_request: | |
branches: | |
- "master" | |
defaults: | |
run: | |
shell: bash -l {0} | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- macOS-14 | |
- macOS-14-large | |
- macOS-13 | |
- macOS-13-xlarge | |
- macOS-12 | |
- ubuntu-22.04 | |
- ubuntu-20.04 | |
python-version: | |
#- "3.8" | |
- "3.9" | |
env: | |
CI_OS: ${{ matrix.os }} | |
PYVER: ${{ matrix.python-version }} | |
PACKAGE: forcebalance | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up conda environment | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-file: devtools/conda-envs/test_env.yaml | |
create-args: >- # beware the >- instead of |, we don't split on newlines but on spaces | |
python=${{ matrix.python-version }} | |
- name: Additional info about the build | |
shell: bash | |
run: | | |
uname -a | |
df -h | |
ulimit -a | |
- name: Environment Information | |
run: | | |
conda info --all | |
conda list | |
# Need to replace ndcctools with this block | |
# - name: Install Work Queue | |
# run: | | |
# wget https://raw.githubusercontent.com/leeping/forcebalance/master/tools/install-cctools.sh | |
# bash install-cctools.sh | |
# echo "Checking for Work Queue import; if successful, no message will be printed" | |
# python -c "import work_queue" | |
# export PATH="$GITHUB_WORKSPACE/opt/cctools/current/bin:$PATH" | |
- name: Install Tinker | |
run: | | |
if [[ "$CI_OS" == 'ubuntu-20.04' ]]; then | |
wget https://dasher.wustl.edu/tinker/downloads/bin-linux-8.8.3.tar.gz -O tinker.tar.gz | |
fi | |
if [[ "$CI_OS" == 'ubuntu-22.04' ]]; then | |
wget https://dasher.wustl.edu/tinker/downloads/bin-linux-8.8.3.tar.gz -O tinker.tar.gz | |
fi | |
if [[ "$CI_OS" == 'macOS-12' ]]; then | |
wget https://dasher.wustl.edu/tinker/downloads/bin-macos-8.8.3.tar.gz -O tinker.tar.gz | |
fi | |
if [[ "$CI_OS" == 'macOS-13' ]]; then | |
wget https://dasher.wustl.edu/tinker/downloads/bin-macos-8.8.3.tar.gz -O tinker.tar.gz | |
fi | |
if [[ "$CI_OS" == 'macOS-13-xlarge' ]]; then | |
wget https://dasher.wustl.edu/tinker/downloads/bin-macos-8.8.3.tar.gz -O tinker.tar.gz | |
fi | |
if [[ "$CI_OS" == 'macOS-14' ]]; then | |
wget https://dasher.wustl.edu/tinker/downloads/bin-macos-8.8.3.tar.gz -O tinker.tar.gz | |
fi | |
if [[ "$CI_OS" == 'macOS-14-large' ]]; then | |
wget https://dasher.wustl.edu/tinker/downloads/bin-macos-8.8.3.tar.gz -O tinker.tar.gz | |
fi | |
tar xvzf tinker.tar.gz &> untar.log | |
mkdir -p $GITHUB_WORKSPACE/opt/tinker/8.8.3 | |
if [[ "$CI_OS" == 'ubuntu-20.04' ]]; then | |
mv bin-linux $GITHUB_WORKSPACE/opt/tinker/8.8.3/bin | |
fi | |
if [[ "$CI_OS" == 'macOS-12' ]]; then | |
mv bin-macos $GITHUB_WORKSPACE/opt/tinker/8.8.3/bin | |
fi | |
echo "$GITHUB_WORKSPACE/opt/tinker/8.8.3/bin" >> $GITHUB_PATH | |
#- name: Install Gromacs | |
# run: | | |
# wget http://ftp.gromacs.org/pub/gromacs/gromacs-5.1.5.tar.gz | |
# tar xvzf gromacs-5.1.5.tar.gz | |
# cd gromacs-5.1.5 | |
# cp -r cmake cmake_s | |
# cd cmake | |
# cmake -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/opt/gromacs/5.1.5 -DGMX_DOUBLE=ON -DGMX_BUILD_OWN_FFTW=ON -DGMX_USE_RDTSCP=OFF .. | |
# make -j 8 && make install | |
# cd ../cmake_s | |
# cmake -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/opt/gromacs/5.1.5 -DGMX_BUILD_OWN_FFTW=ON -DGMX_USE_RDTSCP=OFF .. | |
# make -j 8 && make install | |
# cd .. | |
# . $GITHUB_WORKSPACE/opt/gromacs/5.1.5/bin/GMXRC.bash | |
# echo "$GITHUB_WORKSPACE/opt/gromacs/5.1.5/bin" >> $GITHUB_PATH | |
# which gmx | |
# which gmx_d | |
- name: Extract data archives | |
run: | | |
cd studies/001_water_tutorial | |
tar xvjf targets.tar.bz2 | |
cd ../../ | |
- name: Install package | |
run: | | |
python -m pip install --no-deps . | |
python -c "import forcebalance; print(forcebalance.__version__)" | |
- name: Run tests | |
run: | | |
pytest -v --cov=forcebalance --cov-config=setup.cfg --durations=0 --cov-report=xml -k "not TestEvaluatorBromineStudy" src/tests/ | |
- name: Run water study | |
run: | | |
cd studies/001_water_tutorial | |
tar xvjf targets.tar.bz2 | |
ForceBalance very_simple.in | |
cd ../../ | |
- name: Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
file: ./coverage.xml | |
fail_ci_if_error: false |