Release Steps: Difference between revisions

Maikel (talk | contribs)
No edit summary
Caesar (talk | contribs)
→‎After Release: Add step for flathub.
 
(30 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all conditions have been considered.
This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.


=== Pre Release ===
=== Before Release ===


Steps to do before the release, and after the feature freeze.
Steps to do before the release, and after the feature freeze.
Line 8: Line 8:
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.
* If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.
* Fix all bugs related to this release, which can be found in the bugtracker's [http://bugs.openclonk.org/roadmap_page.php roadmap].
* Fix all bugs related to this release, which can be found in the bugtracker's [http://bugs.openclonk.org/roadmap_page.php roadmap].
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to test the latest version.
* Go the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and perform a dry release to create a release candidate.
* Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.


=== Release ===
=== Release ===
Line 14: Line 15:
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.
If it is made sure that the current [https://git.openclonk.org/openclonk.git master branch] or the current stable branch does not contain any bugs one can initiate the release procedure.


* Update all Version.txt files in planet/ to the new version number and commit/push.
* Optional: Update all Version.txt files and Version= entries in planet/ to the new version number.
* Update the Version.txt to the new version number and commit/push.
* '''Update the Version.txt''' to the new version number and put the extra version in Version.txt to FALSE. Commit and push.
* Tag this latest changeset with the vX.Y tag.
* Then go to the '''[http://londeroth.org/~ck/oc-release/oc-release.cgi release button]''' and release from the correct branch.
* Then go to the [http://londeroth.org/~ck/oc-release/oc-release.cgi release button] and release from the correct branch.


=== Post Release ===
=== After Release ===


After the release has been uploaded do the following:
* '''Create a tag''' for the released changeset with the vX.Y tag (lightweight: git tag vX.Y). '''Only push''' the tag if sure the release has worked.
* Check if installers for all operating systems are existing (contact Mortimer for Mac).
* '''Create a stable branch''' named stable-X for bugfix releases (if not already created).
* Basic tests: download, check installer content, run game, play game, play network game.
* '''Make announcements''' in our blog and in our forum.
* Update external websites: [http://www.desura.com/games/publish/openclonk/execute Desura], [http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt].
* Notify an openclonk.org admin to '''transfer the [https://git.openclonk.org/openclonk.git/archive/ source package]''' to www.openclonk.org/builds/release/X.Y/openclonk-X.Y-src.tar.bz2.
* Notify our Debian package maintainer that a new version has been released.
* Notify an openclonk.org admin to '''mark this version as released in the bugtracker''' and add the next version to the roadmap.
* Make announcements in our blog and in our forum.
* '''Notify our Linux package maintainers''' for [https://packages.debian.org/de/sid/openclonk Debian], [https://aur.archlinux.org/packages/openclonk/ Arch], [http://www.freshports.org/games/openclonk/ FreeBSD] and [http://www.openclonk.org/download/ others] that a new version has been released.
* Notify an openclonk.org admin to mark this version as released in the bugtracker and add the next version to the roadmap.
* Update [https://github.com/flathub/org.openclonk.OpenClonk flathub] (Caesar is the main maintainer, Luchs should have write access.)
 
=== Optional ===
 
* '''Update external websites''': [http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt], [http://en.wikipedia.org/wiki/OpenClonk wikipedia article],[https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].
* Spread the word! More advertisement!

Latest revision as of 23:39, 2 April 2018

This page contains all steps to release a new version of OpenClonk and is meant for developers to check whether all steps have been considered.

Before Release

Steps to do before the release, and after the feature freeze.

  • If releasing from a stable branch: make sure all relevant commits have been cherry-picked from master.
  • Fix all bugs related to this release, which can be found in the bugtracker's roadmap.
  • Go the release button and perform a dry release to create a release candidate.
  • Test this release candidate with few simple tests: download, check installer content, run game, play game, play network game.

Release

If it is made sure that the current master branch or the current stable branch does not contain any bugs one can initiate the release procedure.

  • Optional: Update all Version.txt files and Version= entries in planet/ to the new version number.
  • Update the Version.txt to the new version number and put the extra version in Version.txt to FALSE. Commit and push.
  • Then go to the release button and release from the correct branch.

After Release

  • Create a tag for the released changeset with the vX.Y tag (lightweight: git tag vX.Y). Only push the tag if sure the release has worked.
  • Create a stable branch named stable-X for bugfix releases (if not already created).
  • Make announcements in our blog and in our forum.
  • Notify an openclonk.org admin to transfer the source package to www.openclonk.org/builds/release/X.Y/openclonk-X.Y-src.tar.bz2.
  • Notify an openclonk.org admin to mark this version as released in the bugtracker and add the next version to the roadmap.
  • Notify our Linux package maintainers for Debian, Arch, FreeBSD and others that a new version has been released.
  • Update flathub (Caesar is the main maintainer, Luchs should have write access.)

Optional