Resolving test bug where Reference platform needs to be used. #190
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: | |
# GitHub has started calling new repo's first branch "main" https://github.com/github/renaming | |
# Existing codes likely still have "master" as the primary branch | |
# Both are tracked here to keep legacy and new codes working | |
push: | |
branches: | |
- "master" | |
- "main" | |
pull_request: | |
branches: | |
- "master" | |
- "main" | |
# schedule: | |
# # Nightly tests run on master by default: | |
# # Scheduled workflows run on the latest commit on the default or base branch. | |
# # (from https://help.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule) | |
# - cron: "0 0 * * *" | |
jobs: | |
test: | |
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] # [macOS-latest, ubuntu-latest, windows-latest] | |
python-version: [3.8] #, 3.8, 3.9] | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Additional info about the build | |
shell: bash | |
run: | | |
uname -a | |
df -h | |
ulimit -a | |
# More info on options: https://github.com/conda-incubator/setup-miniconda | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
environment-file: devtools/conda-envs/test_env.yaml | |
channels: conda-forge,defaults | |
activate-environment: test | |
auto-update-conda: false | |
auto-activate-base: false | |
show-channel-urls: true | |
#- name: Build OpenMM | |
# shell: bash -l {0} | |
# run: | | |
# git clone https://github.com/openmm/openmm.git | |
# mkdir -p /home/runner/work/build/bin | |
# cd openmm | |
# mkdir build | |
# cd build | |
# cmake -DCMAKE_INSTALL_PREFIX=/home/runner/work/build/bin/openmm .. | |
# make | |
# make install | |
# make PythonInstall | |
# cd ../.. | |
- name: Get NAMD | |
shell: bash -l {0} | |
env: | |
# NAMD_ACCESS_TOKEN: ${{ secrets.NAMD_ACCESS_TOKEN }} | |
NAMD_ACCESS_TOKEN2: ${{ secrets.NAMD_ACCESS_TOKEN2 }} | |
run: | | |
git clone https://github.com/UIUC-PPL/charm | |
cd charm | |
./build charm++ multicore-linux-x86_64 --with-production | |
export CHRMDIR=${PWD} | |
cd .. | |
wget http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-x86_64.tar.gz | |
tar xzf tcl8.5.9-linux-x86_64.tar.gz | |
mkdir tcl | |
mv tcl8.5.9-linux-x86_64 tcl | |
export TCLINC=${PWD}/tcl/tcl8.5.9-linux-x86_64/lib/ | |
export TCLLIB=${PWD}/tcl/tcl8.5.9-linux-x86_64/include/ | |
export LD_LIBRARY_PATH=${PWD}/tcl/tcl8.5.9-linux-x86_64/include/:$LD_LIBRARY_PATH | |
export TCLDIR=${PWD}/tcl/tcl8.5.9-linux-x86_64 | |
# This was commented before | |
#wget http://www.ks.uiuc.edu/Research/namd/libraries/fftw-linux-x86_64.tar.gz | |
#tar xzf fftw-linux-x86_64.tar.gz | |
#mkdir fftw | |
#mv linux-x86_64 fftw | |
#export FFTWDIR=${PWD}/fftw/linux-x86_64 | |
git clone https://oauth2:${NAMD_ACCESS_TOKEN2}@gitlab.com/tcbgUIUC/namd.git | |
cd namd | |
./config Linux-x86_64-g++ --charm-base $CHRMDIR --tcl-prefix $TCLDIR --without-fftw #--fftw-prefix ${FFTWDIR} | |
cd Linux-x86_64-g++ | |
make | |
pwd | |
ls | |
export PATH="$PWD:$PATH" | |
echo "PATH: $PATH" | |
cd ../.. | |
- name: Install package | |
# conda setup requires this special shell | |
shell: bash -l {0} | |
run: | | |
python -m pip install . --no-deps | |
conda list | |
# Install seekr systems repository | |
git clone https://github.com/seekrcentral/seekr2_systems.git | |
# Install seekr openmm plugin | |
git clone https://github.com/seekrcentral/seekr2_openmm_plugin.git | |
cd seekr2_openmm_plugin/seekr2plugin | |
mkdir build | |
cd build | |
export OPENMM_INSTALL_DIR=${CONDA_PREFIX} | |
export OPENMM_LIB_PATH=$OPENMM_INSTALL_DIR/lib | |
export OPENMM_PLUGIN_DIR=$OPENMM_LIB_PATH/plugins | |
export LD_LIBRARY_PATH=$OPENMM_LIB_PATH:$OPENMM_PLUGIN_DIR:$LD_LIBRARY_PATH | |
cmake -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} -DSEEKR2_BUILD_OPENCL_LIB=OFF -DOPENMM_DIR=${CONDA_PREFIX} .. | |
make | |
make install | |
make PythonInstall | |
make test | |
- name: Install BrownDye | |
shell: bash -l {0} | |
run: | | |
sudo apt-get install libexpat1 apbs | |
wget https://browndye.ucsd.edu/downloads/browndye2-ubuntu-20.04.tar.gz | |
tar -xzf browndye2-ubuntu-20.04.tar.gz | |
cd browndye2/bin | |
export PATH="$PWD:$PATH" | |
echo "PATH: $PATH" | |
ls | |
cd ../.. | |
- name: Run tests | |
# conda setup requires this special shell | |
shell: bash -l {0} | |
run: | | |
export PATH="/home/runner/work/seekr2/seekr2/browndye2/bin:$PATH" | |
export PATH="/home/runner/work/seekr2/seekr2/namd/Linux-x86_64-g++/:$PATH" | |
python -m pip install . | |
python -m openmm.testInstallation | |
pytest -v --cov=seekr2 --cov-report=xml --color=yes -m "not needs_cuda" seekr2/tests/ seekr2_systems/tests/ | |
# pytest -v --cov=seekr2 --cov-report=xml --color=yes -m "not needs_cuda" seekr2/tests/ | |
# pytest -v --cov=seekr2_systems --cov-append --cov-report=xml --color=yes -m "not needs_cuda" seekr2_systems/tests/ | |
- name: CodeCov | |
uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: ./coverage.xml | |
directory: ./coverage/reports/ | |
flags: unittests | |
name: codecov-${{ matrix.os }}-py${{ matrix.python-version }} | |
fail_ci_if_error: true | |
path_to_write_report: ./coverage/codecov_report.txt | |
verbose: true |