Skip to content

SPAdes release how to

Andrey Prjibelski edited this page Jun 4, 2024 · 11 revisions

Pre-release checks

  • Check whether all new options and changes are well documented in docs/running.md, including links, dates and version.
  • Check if documentation should be updated
  • Set proper version in VERSION
  • List all new features and changes in changelog.md
  • Update LICENSE if needed
  • Run SPAdes release snapshot pipeline manually on master branch to ensure snapshots will be built properly on tag

Creating SPAdes distributive

Source code archive

  • Make sure you repository is clear (git clean -f)
  • Run ./make-targz.sh

Binaries

  • Create tag vN.M.K, push it
  • The release snapshot pipeline should run
  • Create release branch spades_N.M.K from the tag
  • Wait until (draft) release is created

Checking SPAdes distributive

  • Compile SPAdes with ./spades_compile.sh (only for source code)
  • Run all kinds of tests to check everything is compiled and packed correctly:
./spades.py --test --sc
./spades.py --test --careful
./spades.py --test --iontorrent
./rnaspades.py --test
./plasmidspades.py --test
./metaspades.py --test
./rnaspades.py --test --ss-rf
./rnaspades.py --test --iontorrent
./coronaspades.py  --test
./metaplasmidspades.py  --test
./metaviralspades.py  --test
./plasmidspades.py  --test
./rnaviralspades.py  --test

Publishing the release

  • Upload source tarball to draft release
  • Use changelog to populate changes

Publicity

User mailing list (optional)

  • Create an email in html format similar to src/tools/mail_sender/message.html
  • Run a mail-sending script using a private mailing API key