Skip to content

Latest commit

 

History

History
90 lines (55 loc) · 4.56 KB

File metadata and controls

90 lines (55 loc) · 4.56 KB

Publishing a release of An Introduction to Applied Bioinformatics

These notes describe how to build and publish a release of IAB, and how to upload the content to readIAB.org.

Part 1: Prepare the release.

  1. Ensure that the Travis build is passing on the master branch.

  2. Update version strings. As of this writing, these need to be updated in setup.py, iab/__init__.py, book/getting-started/reading-iab.md, and conda-recipe/meta.yaml, but it's a good idea to do a global find on the code base for the last release version number to ensure that you're not missing anything. (In the future, the version number will only be specified in one place to simplify this process.)

  3. Update CHANGELOG.md to include descriptions of the changes since the last release.

  4. Submit a pull request with these changes and let Travis run.

Part 2: Build and test the html and IPython Notebook content.

  1. Install build-iab if you don't already have it installed.

  2. From the top-level An-Introduction-to-Applied-Bioinformatics directory, build the html and IPython Notebooks with the following commands. Poke through these files to ensure that they look right, and that the Edit links work correctly.

    biab html -i book -o html
    biab notebook -i book -o ipynb

Part 3: Tag the release.

From the An Introduction to Applied Bioinformatics GitHub page, click on the release link and draft a new release. Use the version number for the tag name and create the tag against master. Fill in a release title that is consistent with previous release titles and add a summary of the release (linking to CHANGELOG.md is a good idea). This release summary will be the primary information that we point users to when we announce the release.

Part 4: Build the conda packages

These notes are in draft stage right now as they were developed between releases. Will test and finalize during the next release.

  1. Configure your conda build environment by installing Miniconda and then running conda install conda-build.

  2. Download the release that was just created on GitHub, and unzip that. Change into the resulting directory.

  3. Build the conda package for your OS and upload it (since I'm running OS X, this will build the OS X package).

    conda build conda-recipe --python 3.4
    binstar upload $HOME/.miniconda/conda-bld/osx-64/iab-0.1.1-np19_0.tar.bz2
  4. Build conda packages for other OSes and upload them (since I'm running OS X, I'll build the Linix packages).

    conda convert --platform linux-32 $HOME/.miniconda/conda-bld/osx-64/iab-0.1.1-np19_0.tar.bz2
    binstar upload linux-32/iab-0.1.1-np19_0.tar.bz2
    conda convert --platform linux-64 $HOME/.miniconda/conda-bld/osx-64/iab-0.1.1-np19_0.tar.bz2
    binstar upload linux-64/iab-0.1.1-np19_0.tar.bz2

Part 5: Update the website so the new version of IAB is live.

  1. Download the release that was just created on GitHub, and unzip that. Change into the resulting directory.

  2. Perform the s3 build and upload, which will required that you have the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables set.

    biab s3build -i book -o s3built
    biab s3upload -i s3built -v latest
    biab s3upload -i s3built -v <version>

    Note that <version> should be replaced with the current release version.

  3. Optional: If there are changes to the README.md (which is the content that lives at readIAB.org/index.html), convert that to html:

    ipython -c "import biab.util; biab.util.md_to_html('README.md', 'index.html')"

    Upload the resulting HTML file to the readiab.org S3 bucket.

These steps are pretty clunky now, but will be updated in the near future to be a single step.

Part 6:

  1. Update the version strings to indicate the development release number. This should be <version>-dev, where <version> is the release that you just published.

  2. Update CHANGELOG.md to create a section for changes since the last release.

  3. Submit a pull request with these changes. Let the Travis build run, and if the tests pass merge the pull request.

  4. Tweet about the release pointing to the release notes on GitHub.

  5. 🍻

Acknowledgements

These notes were developed based on scikit-bio's RELEASE.md.