Skip to content

3.0.2 Release #2001

Description

@marehr
  • Create a release branch, e.g. release-3.0.3

  • Check for critical performance regressions. Use https://github.com/wvandertoorn/cmp_benchmarks

  • Check Nightlies for critical build failures. Change nightlies to build on release branch.

  • Check workarounds in platform.hpp. Are they still valid or can they be limited to specific compiler versions.

  • Check the Changelog.md for completeness (including changed headers).

  • Update the index from cppreference.com so that up-to-date documentation links are generated.

    Click for detailed steps

    Check for new releases and update the link and hash
    in the code base.

    For the hash do

    wget -O- <link to html book> | sha256sum
    
  • Add versioned documentation build on docs.seqan.de.

    Click for detailed steps
    1. Build the documentation locally

    2. Create a #.#.# directory for the release in /web/docs.seqan.de/htdocs/seqan/

    3. Copy everything from the local build (doc_usr/html/*) into the directory.

    4. Alter the file /web/docs.seqan.de/htdocs/seqan3.html with a link to the new documentation build.

  • Prepare seqan3-[VERSION]-{Linux,Source}.tar.xz{,.sha265}.

    Click for detailed steps

    Make a fresh clone of the repository and recursively delete the .git directories.

    mkdir package-build
    
    git clone https://github.com/seqan/seqan3.git
    cd seqan3
    
    git checkout 3.0.2 # version to pack
    
    git submodule init
    git submodule update
    
    cd ../package-build
    
    cmake ../seqan3 # configure
    
    cpack # builds binary package, e.g. seqan3-3.0.2-Linux.tar.xz{,.sha265}
    
    cmake --build . --target package_source # builds source package, e.g. seqan3-3.0.2-Source.tar.xz{,.sha265}
    

    Note: Do not do git clone -recurse-submodules https://github.com/seqan/seqan3.git because it will recursively
    pull sub-submodules which we do not want!

  • Prepare a release note with notable features, API changes, bugs, and external dependency updates.


  • Tag release on Github and attach seqan3-[VERSION]-{Linux,Source}.tar.xz{,.sha265} to the release.

    Click for detailed steps

    Github is not able to create annotated releases (Btw, next time you tag a release please add the -a flag. Otherwise git describe uses 3.0.0 as reference. product_backlog#159), so we have to manually sign the release.

    git checkout release-3.x.y
    git tag -s 3.x.y
    git push upstream 3.x.y

    You will need to provide a tag message. We use the first sentences of the release note:

    E.g. (see https://github.com/seqan/seqan3/tags)

    SeqAn 3.0.2 Release
    
    
    Despite all circumstances, we are excited to present a new update of our SeqAn library.
    We present some great new features and also a lot of usability improvements.
    Among others, this release will fully comply with the final C++-20 standard.
    
    :warning: In this release we harmonised the algorithm configurations for a better user experience.
    This, much like 2020, will break a lot of code. But rest assured that the changes are easy to apply and are worth every bit. :smile:
    
    You can find a comprehensive list of the changes in our [changelog](http://docs.seqan.de/seqan/3.0.2/about_changelog.html).
    

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions