-
Notifications
You must be signed in to change notification settings - Fork 124
Releases
Mark Diekhans edited this page Dec 8, 2023
·
32 revisions
The latest stable release of cactus is found at:
Docker images are available from:
Cactus currently does not implement semantic versioning. We do try to minimize breaking changes but there are no guarantees in place.
We do try to maintain a semantic-like naming scheme for releases (e.g. the major release after 1.7.0 is 1.8.0).
- Update
getDockerRelease()function insrc/cactus/shared/common.pyto return the new release - Update
versionfield insetup.pyto reflect the new version - Update the version in the virtualenv name in
BIN_INSTALL.md - Update all instances of the version name in
doc/progressive.md - Maintain
ReleaseNotes.mdin the tree as changes are made, in newest-first order- Record any new features and important changes, include those in submodules.
- Make note of any breaking changes, include those in submodules.
- It may help to consult the log of commits since the last release.
- Check that all unit and integration tests (both Travis and GitLab) have been run.
To cut a new release:
- Ensure the section for this release in
ReleaseNotes.mdis current. It may help to consult the log of commits or pull requests since the last release. - Edit
ReleaseNotes.mdand add release number and date. - Create a new release on Github
- Look up the next release number
- Tag it vX.Y.Z
- Title it Cactus X.Y.Z 2020-00-00
- Fill in release description:
- Copy release description template below, edit to set release number.
- Inserted the section from ReleaseNotes.md describing this release.
- Mark it as a pre-release
- Publish it (which tags the commit and hopefully kicks off the Docker build on Quay)
- Produce a buildable source tarball, containing code for
cactusand all submodules, and upload it to the release.make srcRelease - Build and upload a static Linux binary package on a CentOS 7.5 system. This has the
/bin/files and python source needed topip installcactus for the release. On Ubuntu, make sure to use an installed-from-source hdf5 (configured with--enable-static --disable-shared)make binRelease - Verify that the Docker image is at quay.io with the SHA returned by
git rev-parse vX.Y.Z. - Tag Docker image (this script has never worked, you must tag it manually on quay):
or tag on the quay.io page
./build-tools/quayTagRelease - Make a CPU Docker image. This script will prompt you to push the image, type
yto accept. It requires having write access to quay and having logged in with something likedocker login --username $QUAY_USERNAME --password $QUAY_PASSWORD quay.io./build-tools/makeCpuDockerRelease - Make a GPU Docker image. If desired, update the Segalign commit in
build-tools/Segalign.committo use a newer version. As above, you must typeyat the end to push it../build-tools/makeGpuDockerRelease- It's advisable to run a gpu test on Terra if possible, especially if updating Segalign. This can be done with
Then making a workflow and uploadingcactus-prepare examples/evolverMammals.txt --wdl --noLocalInputs --alignCores 2 --defaultMem 16 --gpu --gpuCount 8 > evolver.gpu.wdlconfig-prepared.xmlandexamples/evolverMammals.txtas inputs. - Verify that all links are working
- Edit the release and mark it as no longer a pre-release, to make it the latest stable release.
- Send an announcement to cactus-announce@googlegroups.com,
pointing to release notes at
https://github.com/ComparativeGenomicsToolkit/cactus/releases/vX.Y.X/. - Also post the announcement in the GitHub Discussions Announcements category.
Cactus X.Y.Z is available in the following forms:
- Docker Image: `quay.io/comparative-genomics-toolkit/cactus:vX.Y.Z`
GPU-accelerated Docker Image: `quay.io/comparative-genomics-toolkit/cactus:vX.Y.Z-gpu`
Install instructions in [README.md](https://github.com/ComparativeGenomicsToolkit/cactus/blob/vX.Y.Z/README.md)
- Pre-compiled Binaries Linux Tarball: [cactus-bin-vX.Y.Z.tar.gz](https://github.com/ComparativeGenomicsToolkit/cactus/releases/download/vX.Y.Z/cactus-bin-vX.Y.Z.tar.gz)
- Pre-compiled Binaries For Older CPU Architectures (no pangenome support) Linux Tarball: [cactus-bin-legacy-vX.Y.Z.tar.gz](https://github.com/ComparativeGenomicsToolkit/cactus/releases/download/vX.Y.Z/cactus-bin-legacy-vX.Y.Z.tar.gz)
Install instructions in [BIN-INSTALL.md](https://github.com/ComparativeGenomicsToolkit/cactus/blob/vX.Y.Z/BIN-INSTALL.md)
- Source Tarball: [cactus-vX.Y.Z.tar.gz](https://github.com/ComparativeGenomicsToolkit/cactus/releases/download/vX.Y.Z/cactus-vX.Y.Z.tar.gz)
Install instructions in [README.md](https://github.com/ComparativeGenomicsToolkit/cactus/blob/vX.Y.Z/README.md)
**WARNING**: do not use the github automatically generated source files (`Source code (zip)` or `Source code (tar.gz)`), these are not correct.
The Docker images and binaries linked above are built for the [Intel Nehalem architecture](https://en.wikipedia.org/wiki/Nehalem_(microarchitecture)) and require a CPU that supports it (typically something from 2008 or later), except the "Pre-compiled Binaries For Older CPU Architectures" which should be compatible with any 64-bit architecture (but don't yet support the Cactus's pangenome pipeline).
Please subscribe to the [cactus-announce](https://groups.google.com/d/forum/cactus-announce) low-volume mailing list to receive notice of Cactus release.
## Release notes
<copy ReleaseNotes.md for this release here>
- Information on tag finding with Git
- This process shamelessly copied from vg