8000 3.4.0 Release · Issue #3325 · seqan/seqan3 · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
3.4.0 Release #3325
Open
Open
@eseiler

Description

@eseiler

  • Freeze branch. (Instructions)
  • Add versioned documentation to docs.seqan.de. (Instructions)
  • Prepare seqan3-[VERSION]-{Linux,Source}.tar.xz{,.sha265}. (Instructions)
  • 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. (Instructions)


Instructions

Creating a pre-release

GitHub is not able to create annotated releases (seqan/product_backlog#159), so we have to manually sign the release.
Make sure you have set up signed commits.

git checkout release-[VERSION]
git tag -s [VERSION]-rc.[RC] # e.g. 3.1.0-rc.1
git push upstream [VERSION]-rc.[RC]

You will need to provide a tag message. Since this is a pre-release, it can be as simple as Tag 3.1.0-rc.1.

Now follow the packaging instructions to create seqan3-[VERSION]-rc.[RC]-{Linux,Source}.tar.xz{,.sha265}.

Go to https://github.com/seqan/seqan3/releases and create a new release using the created tag and attach the source packages.

⚠️ Make sure to set the tick for "This is a pre-release" ⚠️

Once again, the release message can be simply something along the lines of:

This is the first release candidate for SeqAn 3.0.3

You can find a list of changes in our [changelog](https://docs.seqan.de/seqan/3.0.3/about_changelog.html).

Afterwards, bump the succeeding release candidate number in the release branch: include/seqan3/version.hpp.

Updating cppreference index

Check for new releases and update the link and hash in test/documentation/seqan3-doxygen.cmake.
You can compute the hash via wget -O- <link to html book> | sha256sum.

Freezing the release branch
  • Make sure all PRs that should be merged are merged.
  • Set SEQAN3_RELEASE_CANDIDATE to 0 include/seqan3/version.hpp.
  • This should be the last commit before the release.
Creating versioned documentation
  1. Checkout the release tag and build documentation.
  2. Create a #.#.# directory for the release in /web/docs.seqan.de/htdocs/seqan/
  3. Copy everything from the 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.
Creating source packages

Use a new clone of the repository.

git clone https://github.com/seqan/seqan3.git
cd seqan3
git checkout release-[VERSION] # version/branch to pack
git submodule update --init

mkdir ../package-build
cd ../package-build

cmake ../seqan3 # configure
cpack # builds binary package, e.g. seqan3-[VERSION]-Linux.tar.xz{,.sha265}
cmake --build . --target package_source # builds source package, e.g. seqan3-[VERSION]-Source.tar.xz{,.sha265}

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

Checking the changelog
Creating a release

GitHub is not able to create annotated releases (seqan/product_backlog#159), so we have to manually sign the release.
Make sure you have set up signed commits.

git checkout release-[VERSION]
git tag -s [VERSION]
git push upstream [VERSION]

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](https://docs.seqan.de/seqan/3.0.2/about_changelog.html).
Bumping the version

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0