Release Steps: Difference between revisions

Maikel (talk | contribs)
Caesar (talk | contribs)
→‎After Release: Add step for flathub.
 
(18 intermediate revisions by 3 users not shown)
Line 2: Line 2:
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.
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 15: 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.
* 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.
* Tag the released changeset with the vX.Y tag (leightweight: git tag vX.Y).
* '''Create a stable branch''' named stable-X for bugfix releases (if not already created).
* Create a stable branch named stableX.Y for bugfix releases.
* '''Make announcements''' in our blog and in our forum.
* Check if installers for all operating systems are existing (contact Mortimer for Mac).
* 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.
* Basic tests: download, check installer content, run game, play game, play network game.
* 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.
* Update external game portals: [http://www.desura.com/games/publish/openclonk/execute Desura], [http://gamejolt.com/games/platformer/openclonk/44187/ Game Jolt].
* Update [https://github.com/flathub/org.openclonk.OpenClonk flathub] (Caesar is the main maintainer, Luchs should have write access.)
* Notify our [https://packages.debian.org/de/sid/openclonk Debian package] maintainer that a new version has been released.
* Notify our [http://www.freshports.org/games/openclonk/ FreeBSD 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.
* Update [http://en.wikipedia.org/wiki/OpenClonk wikipedia article].


=== Optional ===
=== Optional ===


Optional steps:
* '''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].
* Update external websites: [https://www.reddit.com/r/freegames/ reddit/freegames], [https://www.youtube.com/user/OpenClonkProject YouTube].
* Spread the word! More advertisement!
* 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