Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.4.0 Release #3325

Open
7 of 29 tasks
eseiler opened this issue Jan 22, 2025 · 0 comments
Open
7 of 29 tasks

3.4.0 Release #3325

eseiler opened this issue Jan 22, 2025 · 0 comments

Comments

@eseiler
Copy link
Member

eseiler commented Jan 22, 2025


  • 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
@eseiler eseiler pinned this issue Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant