Skip to content

Release

Thomas Tuegel edited this page Jun 3, 2021 · 4 revisions

This page describes how to create a new Kore release. We create new releases every two weeks, at the conclusion of an iteration. We increase the version number to match the iteration number and write changelog entries for any significant user-facing changes. These steps facilitate communication with our users: they get insight into the project from the changelog, and we can field bug reports more easily with the ever-changing version number.

  1. In your local copy of the Kore repository, switch to the master branch and pull the latest changes:
git switch master
git pull upstream master  # 'upstream' is the name I use for the kframework/kore remote
  1. Create a new branch for the release pull request:
git switch -C release--0.47.0.0

You can name this branch any way you like, of course.

  1. Update the version: field in kore.cabal.
  2. Update CHANGELOG.md. Add a new section for the new version, with the date. Use the Unreleased section at the top of the file as a template.
  3. Commit the changes:
git commit -am 'kore-0.47.0.0'
  1. Push the new branch to kframework/kore:
git push -u upstream kore-0.47.0.0

You should not push the branch to a fork because the GitHub Actions to update the Nix files will only run on the main repository.

  1. Open a new pull request.
  2. After the tests pass and the pull request is updated by GitHub Actions, pull the changes and push an empty commit:
git pull
git commit --allow-empty -m 'Trigger workflows'
git push

This is required because GitHub Actions modified the pull request automatically, but only manual commits are allowed to trigger the tests (for safety).

  1. Squash and merge. (Get a review if you don't have admin access.) Delete the default extended commit description because it's only noise.
  2. Immediately create a new release. Assign it the tag vW.X.Y.Z and title the release kore-W.X.Y.Z.
  3. Move any unfinished tasks out of the milestone and close it.
Clone this wiki locally