-
Notifications
You must be signed in to change notification settings - Fork 112
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.py
to return the new release - Update
version
field insetup.py
to 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.md
in 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.md
is current. It may help to consult the log of commits or pull requests since the last release. - Edit
ReleaseNotes.md
and 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
cactus
and 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 install
cactus 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
y
to 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.commit
to use a newer version. As above, you must typey
at 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.wdl
config-prepared.xml
andexamples/evolverMammals.txt
as 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