Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into committor_hooks
Browse files Browse the repository at this point in the history
  • Loading branch information
dwhswenson committed Dec 24, 2020
2 parents 40a7694 + 56f52ad commit 5dcd421
Show file tree
Hide file tree
Showing 154 changed files with 15,456 additions and 1,931 deletions.
1 change: 1 addition & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ omit =
*/site-packages/nose/*
*/openpathsampling/tests/*
*/mdtraj/*
*/openpathsampling/experimental/*
*/setup.py
openpathsampling/version.py
exclude_lines =
Expand Down
17 changes: 0 additions & 17 deletions .project

This file was deleted.

8 changes: 0 additions & 8 deletions .pydevproject

This file was deleted.

4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ before_script:
- conda list

script:
- python autorelease_check.py --branch ${TRAVIS_BRANCH} --event ${TRAVIS_EVENT_TYPE}
- python devtools/autorelease_check.py --branch ${TRAVIS_BRANCH} --event ${TRAVIS_EVENT_TYPE}
- source devtools/ci/pytests.sh
- if [ -z "$MINIMAL" ] ; then source devtools/ci/ipythontests.sh; fi

Expand Down Expand Up @@ -66,4 +66,4 @@ env:
- secure: "kb37xmsSV3pEnESnINzwlW2Cju/UFzA/G+m+NsihAwO8RMPZwKCrZK/rptgkUDACXJxom5M690WEukQkHnOt+OTrWhu7WKZgYeVuWUs2++RohYv/m5npaOHMMn+uYmF328v4PvPmXxbD02zzg5Tgdn82x8oa6J8BKX8ohOQ6Xpg="

import:
- dwhswenson/autorelease:autorelease-travis.yml@v0.1.2
- dwhswenson/autorelease:autorelease-travis.yml@v0.2.1
49 changes: 13 additions & 36 deletions devtools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,47 +5,24 @@ Assorted notes for developers.

How to do a release
-------------------
- Update the whatsnew.rst document. Use the github view that shows all the
commits to master since the last release to write it.
- Update the version number in `setup.py`, change `ISRELEASED` to `True`
- Commit to master, and [tag](https://github.com/SimTk/mdtraj/releases) the
release on github
- To push the source to PyPI, use `python setup.py sdist --formats=gztar,zip upload`
- Conda binaries need to built separately on each platform (`conda build mdtraj;
binstar upload <path to .tar.bz2>`)
- Make an announcement on github / email
- After tagging the release, make a NEW commit that changes `ISRELEASED` back
to `False` in `setup.py`


It's important that the version which is tagged on github for the release be
the one with the ISRELEASED flag in setup.py set to true.
1. Make a branch in the upstream `openpathsampling/openpathsampling`
repository.
2. In that branch, change the version in `setup.cfg` to be a release version
(not ending in `.dev0`, etc.)
3. Push that branch and make a PR against the `stable` branch. It should test,
then perform a test deployment to `test.pypi`, then download the test
deployment and run tests again. The logic for this is in the Autorelease
repository. The text of the top post in this PR should be the release notes
(use the write-release-notes script included in Autorelease to do this).
4. Merge the PR. This will create a GitHub release, and then take that release
and push it to pypi. All of this logic is in Autorelease.


Docs Building & Hosting
-----------------------

After a travis build succeeds, the docs are built with sphinx and pushed to
the mdtraj.org amazon s3 account. The credentials for that account are stored,
encrypted, in the .travis.yml file.
the openpathsampling.org amazon s3 account (owned by John Chodera). The
credentials for that account are stored, encrypted, in the .travis.yml file.
(http://docs.travis-ci.com/user/build-configuration/#Secure-environment-variables)

As of version 0.7-dev (0.8 release) multiple versions of the docs are hosted
online. When a build happens on a version with ISRELEASED==False, it's put into
the "latest" folder on the S3 bucket. If ISRELEASED==True, it's put into a
subfolder with the name of the short release. The relevant logic is in
`tools/ci/push-docs-to-s3.py`.

In order for the select bar at the bottom of the docs that toggles between
versions to work, these folders MUST match up with the tag names on github.
This is because the list of items to put in that little dropdown menu is
dynamically determined from the github API in the browser. This is the only
way I could think of to make sure the old docs have a link to the latest
version. The logic that populates the version dropdown menu in the browser is in

`docs/themes/sphinx_rtd_theme-0.1.5/sphinx_rtd_theme/versions.html`

Specifically note that it goes to https://api.github.com/repos/rmcgibbo/mdtraj/releases,
and uses the `tag_names` to build the links. So these much line up with the
prefix of `mdtraj.version.short_version` used in `tools/ci/push-docs-to-s3.py`
for the links not to break.
1 change: 0 additions & 1 deletion autorelease_check.py → devtools/autorelease_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
'package': openpathsampling.version.version,
'netcdfplus': openpathsampling.netcdfplus.version.version,
'setup.py': SETUP_VERSION,
'conda-recipe': conda_recipe_version('devtools/conda-recipe/meta.yaml'),
}

RELEASE_BRANCHES = ['stable']
Expand Down
68 changes: 0 additions & 68 deletions devtools/ci/create_conda_meta.py

This file was deleted.

2 changes: 1 addition & 1 deletion devtools/ci/miniconda_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ conda_version="latest"
#conda_version="4.4.10" # can pin a miniconda version like this, if needed

MINICONDA=Miniconda${pyV}-${conda_version}-Linux-x86_64.sh
MINICONDA_MD5=$(curl -s https://repo.continuum.io/miniconda/ | grep -A3 $MINICONDA | sed -n '4p' | sed -n 's/ *<td>\(.*\)<\/td> */\1/p')
MINICONDA_MD5=$(curl -sL 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
if [[ $MINICONDA_MD5 != $(md5sum $MINICONDA | cut -d ' ' -f 1) ]]; then
echo "Miniconda MD5 mismatch"
Expand Down
14 changes: 14 additions & 0 deletions devtools/ci/pytests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,20 @@ pytest -vv -s --cov --cov-report xml:cov.xml || testfail=1
COVERALLS_PARALLEL=true coveralls
echo travis_fold:end:pytests

if [ $testfail -eq 1 ]
then
exit 1
fi

if [ $CONDA_PY != "2.7" ] && [ -z "$MINIMAL" ]; then
# experimental does not need to support Python 2
echo travis_fold:start:experimental
echo Running tests on experimental features
pytest openpathsampling/experimental/ -vv -s || testfail=1
echo travis_fold:end:experimental
fi


if [ $testfail -eq 1 ]
then
exit 1
Expand Down
21 changes: 0 additions & 21 deletions devtools/conda-recipe/README.md

This file was deleted.

11 changes: 0 additions & 11 deletions devtools/conda-recipe/build.sh

This file was deleted.

43 changes: 0 additions & 43 deletions devtools/conda-recipe/meta.yaml

This file was deleted.

14 changes: 0 additions & 14 deletions devtools/conda-recipe/requirements.txt

This file was deleted.

30 changes: 15 additions & 15 deletions devtools/conda_install_reqs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,26 +21,26 @@ fi
# always obeys if you explicitly request a pinned version)
#conda config --env --add pinned_packages python=$CONDA_PY
#cp $DEVTOOLS_DIR/../pinned $CONDA_PREFIX/
PACKAGES=`python ${DEVTOOLS_DIR}/install_recipe_requirements.py --dry ${DEVTOOLS_DIR}/conda-recipe/meta.yaml | tr "\n" " "`

# WORKAROUNDS is normally empty; needed if other pkgs don't list all deps
WORKAROUNDS="pymbar"
TESTING=`cat ${DEVTOOLS_DIR}/testing_requirements.txt | tr "\n" " "`
EXTRA=`cat ${DEVTOOLS_DIR}/optional_packages.txt | tr "\n" " "`
WORKAROUNDS=""
REQUIREMENTS=`python ${DEVTOOLS_DIR}/setup_cfg_reqs.py`
TESTING=`python ${DEVTOOLS_DIR}/setup_cfg_reqs.py --extra test`
INTEGRATIONS=`cat ${DEVTOOLS_DIR}/tested_integrations.txt | tr "\n" " "`
EXPERIMENTAL=`cat ${DEVTOOLS_DIR}/experimental_reqs.txt | tr "\n" " "`
PY_INSTALL="python=$CONDA_PY"
PINS=`cat ${DEVTOOLS_DIR}/../pinned | tr -d " " | tr "\n" " "`

echo "WORKAROUNDS=$WORKAROUNDS"
echo "PY_INSTALL=$PY_INSTALL"
echo "PACKAGES=$PACKAGES"
echo "REQUIREMENTS=$REQUIREMENTS"
echo "INTEGRATIONS=$INTEGRATIONS"
echo "EXPERIMENTAL=$EXPERIMENTAL"
echo "WORKAROUNDS=$WORKAROUNDS"
echo "TESTING=$TESTING"
echo "PINS=$PINS"

if [ "$CONDA_PY" != "3.7" ]; then
ALL_PACKAGES="$WORKAROUNDS $PACKAGES $TESTING $EXTRA"
else
ALL_PACKAGES="$WORKAROUNDS $PACKAGES $TESTING" # no msmbuilder for py3.7?
fi
# TODO: allow different installs for different versions
# (needed this when msmbuilder was only available on older pythons; similar
# situations may come up in the future)
ALL_PACKAGES="$WORKAROUNDS $REQUIREMENTS $INTEGRATIONS $EXPERIMENTAL $TESTING"

echo "conda install -y -q -c conda-forge -c omnia $PY_INSTALL $ALL_PACKAGES $PINS"
conda install -y -q -c conda-forge -c omnia $PY_INSTALL $ALL_PACKAGES $PINS
echo "conda install -y -q -c conda-forge -c omnia $PY_INSTALL $ALL_PACKAGES"
conda install -y -q -c conda-forge -c omnia $PY_INSTALL $ALL_PACKAGES
1 change: 1 addition & 0 deletions devtools/experimental_reqs.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sqlalchemy

0 comments on commit 5dcd421

Please sign in to comment.