mkconda building and releasing new versions - kutaslab/mkconda GitHub Wiki
In the local mkconda repo on a working (not master) branch ...
-
run
make mkconda
and monitor for trouble, this is slow. -
confirm that
-
there is one package tarball for the current version
mkconda-VERSION-blahblah.tar.bz2
in./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.bz2
tarballs 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.N
for 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 conda
the 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-bld
back 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.