Skip to content
Denis Puthier edited this page Jan 14, 2019 · 48 revisions

Welcome to the pygtftk wiki!

For developpers

For git hubflow usage see 'https://datasift.github.io/gitflow/GitFlowForGitHub.html'.

Creating a release

Preparing the new release tag on github

Example with release 0.9.0

When everything seems to be ok you can go for a release. Follow these rules.

  • Start a new release from develop branch (git hf release start 0.9.0).
  • type make release
  • Install the package using python setup.py install
  • Change the release name in pygtftk/version.py
  • Change the release name in docs/source/conf.py
  • Perform doctests by using make nose.
  • Perform functional tests using make test_para -j 3. Adapt -j to your needs.
  • build doc using the following procedure:
    • cd docs
    • rm -rf build/
    • make html
    • Check doc has no errors.
    • git add build/html/*
    • git commit -m 'updated doc'
    • Copy images from build folder to source.
      • cp build/html/*png source/_static
      • git add source/_static*png
      • git commit -m "updated source img"
  • cd ..; make clean
  • Commit your changes.
  • Under OSX, check this release is pypiable.
    • rm -rf dist; python setup.py bdist_wheel
    • try to install the package using pip install dist/pygtftk-....whl
    • You may upload the release with twine.
  • type make unrelease
  • Publish the release using git hf release finish 0.9.0
  • On the github page. Delete the tag.
  • Create the tag through the gitub interface.

Creating Pypi/manylinux compliant packages for Linux

  • First install the docker image using: docker pull quay.io/pypa/manylinux1_x86_64
  • Run the container using, for instance: docker run -i -t a3823a95d368 /bin/bash
  • Create a directory mkdir -p /io && cd /io
  • Clone pygtftk git clone https://github.com/dputhier/pygtftk.git .
  • touch release_in_progress
  • cd manylinux/
  • chmod u+x build_wheels.sh
  • ./build_wheels.sh
  • Upload the package on Pypi using twine upload wheelhouse_manylinux

Creating conda build

  • docker pull bioconda/bioconda-utils-build-env -Under OSX do
    • go to the conda folder and conda-build --python=3.5 .
    • go to the conda folder and conda-build --python=3.6 .

Hotfix

A special case of branch starting from master with modifications not to be directly included in develop branch (but upon merge with master).

  • git hf hotfix start "0.9.1"
  • git hf hotfix finish "0.9.1"
Clone this wiki locally