Skip to content
Brice Letcher edited this page Mar 15, 2022 · 3 revisions

Making a new release

  1. Bump the version in setup.cfg and the README

  2. Tag it

git tag vx.y.z
git push origin vx.y.z
  1. Build the static binary and the release tarball

    bash build.sh --static
    python3 -m build
  2. Make release on github

Building a container

Docker

We've been using quay.io (https://quay.io/repository/iqballab/gramtools?tab=info) to build and host containers, with builds triggered from github.

If this fails (for eg due to docker pull rate limiting), can build and upload manually. From gramtools root directory:

sudo docker build -f ci/docker/Dockerfile -t gramtools .
sudo docker run gramtools
sudo docker ps -l ## Retrieve the container ID
sudo docker commit <container_ID> quay.io/iqballab/gramtools:<gramtools_version>
sudo docker push quay.io/iqballab/gramtools:<gramtools_version>

Measuring test coverage

mkdir cmake-build && cd cmake-build
cmake -DCODE_COVERAGE=ON ..
make -j 4 test_main
make test_coverage

This uses lcov (a wrapper over gcov) to produce an html report in the test_coverage folder.