Skip to content

Commit

Permalink
Release process updates and sourmash 3.0 release notes (#776)
Browse files Browse the repository at this point in the history
* update release notes
* fix links
* add 3.0 release notes
  • Loading branch information
luizirber committed Jan 3, 2020
1 parent 3e71e9a commit a35e7ad
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 14 deletions.
34 changes: 34 additions & 0 deletions doc/release-notes/sourmash-3.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# sourmash v3.0 release notes

We are pleased to announce release 3.0 of sourmash! This release includes internal changes like the new Rust backend (replacing C++) and lays the groundwork for future improvements.

The full documentation for this version is available at
https://sourmash.readthedocs.io/en/v3.0.0/. Documentation for the latest
released version is at http://sourmash.readthedocs.io/en/stable/.

**This release is compatible with sourmash 2.0: the sourmash
Python API, command-line, signature and databases file formats are all the same.** We are releasing 3.0 to indicate the build system and internal implementation changed.

Please post questions about migrating to sourmash 3.0
in the [sourmash issue tracker](https://github.com/dib-lab/sourmash/issues/new).

## Highlighted changes since 2.0

This is a list of substantial new features and functionality since sourmash 2.0. For more details check the [releases page on GitHub](https://github.com/dib-lab/sourmash/releases).

Features:

- Replacing C++ with Rust ([#424](https://github.com/dib-lab/sourmash/pull/424))
- Create an `Index` abstract base class ([#556](https://github.com/dib-lab/sourmash/pull/556))
- Dayhoff and HP encoding for proteins ([#689](https://github.com/dib-lab/sourmash/pull/689)) ([#758](https://github.com/dib-lab/sourmash/pull/758))
- Add `sourmash signature filter` to do abundance filtering. ([#748](https://github.com/dib-lab/sourmash/pull/748))
- Parallelized compare function with multiprocessing ([#709](https://github.com/dib-lab/sourmash/pull/709))
- add compute signatures for 10x bam file ([#713](https://github.com/dib-lab/sourmash/pull/713))

Improvements:

- improve error handling in `sourmash lca index`. ([#798](https://github.com/dib-lab/sourmash/pull/798))
- Include more base deps: numpy, scipy and matplotlib ([#770](https://github.com/dib-lab/sourmash/pull/770))
- use `bam2fasta` package to simplify `sourmash compute` ([#768](https://github.com/dib-lab/sourmash/pull/768))
- add a `--abundances-from` flag to sourmash signature intersect, to preserve abundances ([#747](https://github.com/dib-lab/sourmash/pull/747))
- Compare outputs can be saved to an output dir ([#715](https://github.com/dib-lab/sourmash/pull/715))
32 changes: 18 additions & 14 deletions doc/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,17 @@ cd testenv1
source bin/activate
git clone --depth 1 --branch v${new_version}${rc} https://github.com/dib-lab/sourmash.git
cd sourmash
pip install -r requirements.txt
python -m pip install -U setuptools pip
python -m pip install -r requirements.txt
make test
# Secondly we test via pip
cd ../../testenv2
deactivate
source bin/activate
pip install -U setuptools
pip install -e git+https://github.com/dib-lab/sourmash.git@v${new_version}${rc}#egg=sourmash[test]
python -m pip install -U setuptools pip
python -m pip install -e git+https://github.com/dib-lab/sourmash.git@v${new_version}${rc}#egg=sourmash[test]
cd src/sourmash
make test
make dist
Expand All @@ -63,14 +64,14 @@ cp dist/sourmash*tar.gz ../../../testenv3/
cd ../../../testenv3/
deactivate
source bin/activate
pip install -U setuptools
pip install sourmash*tar.gz
pip install pytest
python -m pip install -U setuptools pip
python -m pip install sourmash*tar.gz
python -m pip install pytest
tar xzf sourmash-${new_version}${rc}.tar.gz
cd sourmash-${new_version}${rc}
pip install -r requirements.txt
python -m pip install -r requirements.txt
make dist
make test ## Currently failing, we don't have all the test data...
#make test ## Currently failing, we don't have all the test data...
```

4\. Publish the new release on the testing PyPI server. You will need
Expand All @@ -88,9 +89,9 @@ twine upload --repository-url https://test.pypi.org/legacy/ dist/sourmash-${new_
cd ../../testenv4
deactivate
source bin/activate
pip install -U setuptools
pip install -U setuptools pip
# install as much as possible from non-test server!
pip install screed pytest numpy matplotlib scipy khmer "ijson<2.5"
pip install screed pytest numpy matplotlib scipy khmer ijson bam2fasta
pip install -i https://test.pypi.org/simple --pre sourmash
sourmash info # should print "sourmash version ${new_version}${rc}"
```
Expand Down Expand Up @@ -137,16 +138,19 @@ twine upload *.whl
The BiocondaBot has an `autobump` feature that should pick up new releases from PyPI, and open a PR in Bioconda. Review any changes
(especially dependency versions, since these don't get picked up).

This is an example PR (for `2.1.0`): https://github.com/bioconda/bioconda-recipes/pull/17113
An example PR for [`2.1.0`](https://github.com/bioconda/bioconda-recipes/pull/17113).

## Announce it!

If a bioinformatics software is released and no one tweets, is it really released?

Examples:
2.0.0 https://twitter.com/luizirber/status/1108846466502520832
2.0.1 https://twitter.com/luizirber/status/1136786447518711808
2.1.0 https://twitter.com/luizirber/status/1166910335120314369

- [2.3.0](https://twitter.com/luizirber/status/1198027116396171264)
- [2.2.0](https://twitter.com/luizirber/status/1179126660911661057)
- [2.1.0](https://twitter.com/luizirber/status/1166910335120314369)
- [2.0.1](https://twitter.com/luizirber/status/1136786447518711808)
- [2.0.0](https://twitter.com/luizirber/status/1108846466502520832)

## To test on a blank Ubuntu system

Expand Down

0 comments on commit a35e7ad

Please sign in to comment.