-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5 from choderalab/travis
Add support for continuous integration via travis
- Loading branch information
Showing
7 changed files
with
199 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
language: c | ||
sudo: false | ||
|
||
branches: | ||
only: | ||
- master | ||
|
||
install: | ||
- source devtools/travis-ci/install.sh | ||
- export PYTHONUNBUFFERED=true | ||
# Add org channel | ||
- conda config --add channels ${ORGNAME} | ||
|
||
script: | ||
# Create a test environment | ||
- conda create --yes -n test python=$python | ||
# Activate the test environment | ||
- source activate test | ||
# Add channels | ||
- conda config --add channels conda-forge | ||
- conda config --add channels omnia | ||
- conda config --add channels https://conda.anaconda.org/omnia/label/dev | ||
# Install extras for OpenEye and testing | ||
- conda install --yes --quiet pip nose nose-timer | ||
# Build the recipe | ||
- conda build devtools/conda-recipe | ||
# Install the package | ||
- conda install --yes --use-local ${PACKAGENAME}-dev | ||
# Test the package | ||
#- cd devtools && nosetests $PACKAGENAME --nocapture --verbosity=2 --with-timer -a '!slow' && cd .. | ||
- nosetests $PACKAGENAME --nocapture --verbosity=2 --with-timer | ||
# Test the examples | ||
- python benchmark/experiments/baoab_vs_vvvr.py | ||
|
||
os: | ||
- osx | ||
- linux | ||
|
||
env: | ||
matrix: | ||
- python=2.7 CONDA_PY=2.7 | ||
- python=3.5 CONDA_PY=3.5 | ||
- python=3.5 CONDA_PY=3.6 | ||
|
||
global: | ||
- ORGNAME="omnia" | ||
- PACKAGENAME="benchmark" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,5 @@ | ||
[![Build Status](https://travis-ci.org/choderalab/integrator-benchmark.svg?branch=master)](https://travis-ci.org/choderalab/integrator-benchmark?branch=master) | ||
|
||
# integrator-benchmark | ||
|
||
Enumerating and evaluating numerical integrators of Langevin dynamics |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
Developer Notes / Tools | ||
======================= | ||
|
||
Assorted "Ho-To's" for developers | ||
|
||
How to contribute changes | ||
------------------------- | ||
- Clone the repository if you have write access to the main repo, fork the repositiory if you are a collaborator. | ||
- Make a new branch with `git checkout -b {your branch name}` | ||
- Make changes and test your code | ||
- Push the branch to the repo (either the main or your fork) with `git push -u origin {your branch name}` | ||
* Note that `origin` is the default name assigned to the remote, yours may be different | ||
- Make a PR on GitHub with your changes | ||
- We'll review the changes and get your code into the repo after lively discussion! | ||
|
||
|
||
Checklist for all Updates | ||
------------------------- | ||
- [ ] Update `setup.py` version number (see specific update type for details) | ||
- [ ] Make sure there is an/are issue(s) opened for your specific update | ||
- [ ] Create the PR, referencing the issue | ||
- [ ] Debug the PR as needed until tests pass | ||
- [ ] Tag the final, debugged version as the one in `setup.py` | ||
* `git tag -a X.Y.Z [latest pushed commit] && git push --follow-tags` | ||
- [ ] Get the PR merged in | ||
|
||
|
||
Checklist for Major Revisions (`integrator-benchmark` X.Y+1.0) | ||
-------------------------------------------------------------- | ||
- [ ] Make sure all issues related to the milestone will be closed by this commit or moved to future releases | ||
- [ ] Update `docs/whatsnew.rst` | ||
- [ ] Update `setup.py` with version number and `ISRELEASED` to `True` | ||
- [ ] Do the steps for All Upates | ||
- [ ] Create a new release on GitHub, reference the tag and copy the changes in `docs/whatsnew.rst` | ||
- [ ] Update the `omnia-md/conda-recipies` repo by creating a new PR with updated versions | ||
* Be sure to pin dependencies to fixed version | ||
|
||
Checklist for Minor Revisions (`integrator-benchmark` X.Y.Z+1) | ||
-------------------------------------------- | ||
- [ ] Update `setup.py` with the correct Z version number in X.Y.Z | ||
- [ ] In `setup.py`, set `ISRELEASED` to `False` | ||
- [ ] Do all the steps for All Updates | ||
* If this is a critical bugfix (i.e. `integrator-benchmark` X.Y.0 is broken and/or flat out wrong without the fix): | ||
- [ ] Update `docs/whatsnew.rst` | ||
- [ ] Update the released version on the site to this version, adjusting the tag and note that this is a critical bugfix which corrects the X.Y release | ||
- [ ] Update the `omnia-md/conda-recipies` repo to point at the corrected version |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
This is a recipe for building the current development package into a conda | ||
binary. | ||
|
||
The installation on travis-ci is done by building the conda package, installing | ||
it, running the tests, and then if successful pushing the package to binstar | ||
(and the docs to AWS S3). The binstar auth token is an encrypted environment | ||
variable generated using: | ||
|
||
binstar auth -n yank-travis -o omnia --max-age 22896000 -c --scopes api:write | ||
|
||
and then saved in the environment variable BINSTAR_TOKEN. | ||
|
||
You can set up travis to store an encrypted token via | ||
|
||
gem install travis travis encrypt BINSTAR_TOKEN=xx | ||
|
||
where xx is the token output by binstar. The final command should print a line (containing 'secure') for inclusion in your .travis.yml file. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
#!/bin/bash | ||
|
||
#export CC=${PREFIX}/bin/gcc | ||
#export CXX=${PREFIX}/bin/g++ | ||
|
||
# conda provides default values of these on Mac OS X, | ||
# but we don't want them when building with gcc | ||
#export CFLAGS="" | ||
#export CXXFLAGS="" | ||
#export LDFLAGS="" | ||
|
||
# Build the python package | ||
$PYTHON setup.py install |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
package: | ||
name: benchmark-dev | ||
version: 0.0.0 | ||
|
||
source: | ||
path: ../.. | ||
|
||
build: | ||
preserve_egg_dir: True | ||
number: 0 | ||
|
||
requirements: | ||
build: | ||
- python | ||
- cython | ||
- numpy | ||
- scipy | ||
- setuptools | ||
- netcdf4 | ||
- openmm >=7.1 | ||
- mdtraj >=1.7.2 | ||
- openmmtools | ||
- pymbar | ||
- seaborn | ||
- tqdm | ||
- scikit-learn | ||
- numba | ||
|
||
run: | ||
- python | ||
- pandas | ||
- numpy | ||
- scipy | ||
- cython | ||
- netcdf4 | ||
- openmm >=7.1 | ||
- mdtraj >=1.7.2 | ||
- openmmtools | ||
- pymbar | ||
- seaborn | ||
- tqdm | ||
- scikit-learn | ||
- numba | ||
|
||
test: | ||
requires: | ||
- nose | ||
- nose-timer | ||
imports: | ||
- benchmark | ||
|
||
about: | ||
home: https://github.com/choderalab/integrator-benchmark | ||
license: MIT License |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Temporarily change directory to $HOME to install software | ||
pushd . | ||
cd $HOME | ||
|
||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then MINICONDA=Miniconda3-latest-MacOSX-x86_64.sh; fi | ||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then MINICONDA=Miniconda3-latest-Linux-x86_64.sh; fi | ||
|
||
MINICONDA_MD5=$(curl -s https://repo.continuum.io/miniconda/ | grep -A3 $MINICONDA | sed -n '4p' | sed -n 's/ *<td>\(.*\)<\/td> */\1/p') | ||
wget https://repo.continuum.io/miniconda/$MINICONDA | ||
bash $MINICONDA -b | ||
rm -f $MINICONDA | ||
|
||
export PATH=$HOME/miniconda3/bin:$PATH | ||
|
||
conda update -yq conda | ||
conda install -yq conda-build jinja2 anaconda-client pip | ||
|
||
# Restore original directory | ||
popd |