Skip to content

Commit

Permalink
Merge pull request #29 from eirrgang/release-0.0.5
Browse files Browse the repository at this point in the history
Release 0.0.5
  • Loading branch information
eirrgang committed Apr 30, 2018
2 parents 1f495c6 + 7b6b777 commit 234d022
Show file tree
Hide file tree
Showing 20 changed files with 623 additions and 496 deletions.
7 changes: 6 additions & 1 deletion .travis.yml
Expand Up @@ -30,6 +30,11 @@ matrix:
- gmxapi_DIR=$HOME/gromacs
- GROMACS_DIR=$HOME/gromacs

# It is clearly a bad idea to have the development branch of a project requiring the development branch
# of another project in the primary build recipe. We either need to build and test development and master
# branches distinctly in a build matrix, only build off of tagged releases or the master branch of the
# dependency, or otherwise find a better solution that allows the master branch to be entirely included in
# the develop branch.
before_install:
- uname -a
- apt list --installed
Expand All @@ -46,7 +51,7 @@ install:
- make -j4 install
- popd
- popd
# pip 10 appears to be broken
# pip 10.0.0 appears to be broken
- python -m pip install --upgrade pip==9 --user
- python -m pip install --upgrade setuptools --user
- python -m pip install virtualenv --user
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Expand Up @@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.4.3)
#list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

# Sets the PROJECT_VERSION variable, as well...
project(gmxpy VERSION 0.0.4)
project(gmxpy VERSION 0.0.5)

add_subdirectory(pybind11)

Expand Down
335 changes: 43 additions & 292 deletions README.md

Large diffs are not rendered by default.

18 changes: 18 additions & 0 deletions RELEASE.txt
@@ -0,0 +1,18 @@
Future release notes go here...

When a new release is about to be tagged, version and release information needs to be updated in a few places.

Once the required features in gromacs-gmxapi have been merged to its master branch, update the several lines in
.travis.yml to reference the gromacs-gmxapi release archive instead of master or a development branch.

Similarly, update the `gromacs_url` embedded in setup.py

After merging the gmxapi development branch to master and before tagging the release,
update setup.py so that it writes a version.py file with `release = True`.

Once the release is tagged and any last-minute essentials are cherry-picked to the refreshed development branch,
bump the version in the development branch in CMakeLists.txt _and_ in setup.py. If / when feature branches
require new libgmxapi features, `find_package(gmxapi...` can be updated in `src/gmx/core/CMakeLists.txt`. While
we have the package version check set to REQUIRED, this is probably an immediate update. Sometime after 0.1.0,
though, we hope we can have some backwards compatibility and leave the libgmxapi version more flexible.

32 changes: 32 additions & 0 deletions docker/Dockerfile
@@ -0,0 +1,32 @@
# Build container for gmxapi/gmxapi:<tag>
# Initially we will use a tmpi libgromacs and openmpi mpi4py

FROM gmxapi/gromacs-gmxapi:0.0.5

# Allow build for an arbitrary branch or tag, but default to the tip of `master`
ARG BRANCH=master

RUN conda install pytest tox cmake

# At least one conda release does not leave tox executable...
# However, tox doesn't seem to be helping us here...
# RUN chmod a+x /opt/conda/bin/tox

# Note default for the base image at this point is Python3
RUN pip install --upgrade pip && \
pip install sphinx mpi4py

RUN pip install --upgrade setuptools --user

#ADD --chown=1000:100 gmxpy /home/jovyan/gmxpy

RUN wget https://github.com/kassonlab/gmxapi/archive/$BRANCH.zip && \
unzip $BRANCH.zip && \
mv gmxapi-$BRANCH /home/jovyan/gmxpy && \
rm $BRANCH.zip

RUN (cd /home/jovyan/gmxpy && \
gmxapi_DIR=/home/jovyan/install/gromacs pip install . --upgrade --verbose)

# Test with
# docker run --cpus 2 --rm -ti gmxapi/gmxapi bash -c "cd gmxpy && mpiexec -n 2 python -m mpi4py -m pytest --log-cli-level=DEBUG --pyargs gmx -s --verbose"
5 changes: 5 additions & 0 deletions docs/components/plugins.rst
@@ -1,7 +1,10 @@
====================
Simulation internals
====================
.. toctree::
:hidden:

../examples/externalForce

The applied_forces facility implemented for the electric field module has become
the starting point for discussions on API requirements to allow less tightly
Expand All @@ -17,6 +20,8 @@ an interface that prevents misuse, provides the minimal access, and hides the
implementation sufficiently that external or higher-level code cannot invalidate
assumptions made for optimizations in the core code.

Simulation plugins are further discussed in :doc:`../examples/externalForce`

Simulation loop
===============

Expand Down
1 change: 1 addition & 0 deletions docs/developerguide.rst
Expand Up @@ -5,6 +5,7 @@ Developer Guide

.. toctree::

intro
projectstructure
design
components
Expand Down
9 changes: 0 additions & 9 deletions docs/guides.rst

This file was deleted.

5 changes: 2 additions & 3 deletions docs/index.rst
Expand Up @@ -9,9 +9,8 @@ based on a GROMACS fork hosted at https://bitbucket.org/kassonlab/gromacs
:maxdepth: 2
:caption: Documentation sections

intro
guides
reference
userguide
developerguide
changelog

..
Expand Down

0 comments on commit 234d022

Please sign in to comment.