mkconda building and releasing new versions - kutaslab/mkconda GitHub Wiki
In the local mkconda repo on a working (not master) branch ...
-
run
make mkcondaand monitor for trouble, this is slow. -
confirm that
-
there is one package tarball for the current version
mkconda-VERSION-blahblah.tar.bz2in./conda/conda-bld/linux-64/directory:ls ./conda/conda-bld/linux-64/mkconda*.tar.bz -
it is staged to be added to the git repo:
git status
-
-
confirm there are no previous versions of the
mkconda*tar.bz2tarballs in the repogit ls-files *mkconda*.tar.bz2(if so remove them with
git rm <filename>)
. git commit and make sure the new tarball was added to the git repo: git ls-files
. git push origin
. monitor the TravisCI build for trouble
Release versions must be N.N.N for the Major.Minor.Patch semantic versioning.
-
In the local repo on a working branch, update the Major.Minor.Patch version string in
conda/meta.yaml, ensure it is not already in use inkutaslab/mkconda -
Build as above with the commit message
Release N.N.Nfor the new version string -
On github, pull into master, confirm TravisCI passes
-
On github make a new release with (exactly) tag vN.N.N and (exactly) label N.N.N and description text.
For TravisCI, the mkconda metapackage tar.bz2 is prebuilt in /tmp/mkconda on the local machine b.c. the dependency resolution during conda build and conda create is slow and TravisCI may time out.
The steps in scripts/create.sh sort of mimic TravisCI
- set up and activate minimal env for conda building (
/tmp/mkconda/build_env) - build the linux-64 conda package, roughly
conda build condathe mkconda metapackage from the condameta.yaml. This what may timeout on TravisCI. - populate a new conda env with mkconda (only), roughly
conda create --name run_env mkconda
- snapshot the specific packages to a file with
conda list --explicit - paste the fresh tarball from
/tmp/conda/conda-bldback into local for loading into the repo where Travis can find it.
Now the repo has the the tarball and explicit environment. Travis can reconstruct the explicit environment quickly, if all goes well, the tarball is converted for other platforms. For versions released on github tagged vN.N.N the packages are uploaded to Anaconda Cloud kutaslab/mkconda.