Difference between revisions of "Releasing Minetest"

From Minetest Developer Wiki
Jump to navigation Jump to search
(Correct news section link)
(Improve styling, fix spelling of some words.)
Line 1: Line 1:
Warning: Do not try this at home! The sanity of developers and users will be compromised.
+
== Before releasing ==
  
[[Category:Core]]
+
'''Usually a feature freeze for one week is announced in #minetest-dev.''' New features aren't accepted in this time and people focus on finding and fixing bugs.
== Before releasing ==
 
Usually a feature freeze for one week is announced in #minetest-dev. New features aren't accepted in this time and people focus on finding and fixing bugs.
 
  
 
The feature freeze and release date is set by core developers.
 
The feature freeze and release date is set by core developers.
  
==The Process==
+
== The process ==
 +
 
 
This is mostly done by several core developers.
 
This is mostly done by several core developers.
  
===Update version in source===
+
=== Update version in source ===
Define a new version number in CMakeLists.txt, update doc/lua-api.txt and doc/menu_lua_api.txt. Comment out the line that sets VERSION_PATCH to ${VERSION_PATCH}-dev.  
+
 
 +
* '''Define''' a new version number in CMakeLists.txt, update doc/lua-api.txt and doc/menu_lua_api.txt. Comment out the line that sets VERSION_PATCH to ${VERSION_PATCH}-dev.
 +
* '''Update''' Android version code build/android/Makefile ANDROID_VERSION_CODE (around line 27)
 +
* '''Commit'''.
 +
* '''Tag''' the version in local git to allow the cmake versioning script to remove the git hash from the version. Do not push the tag to GitHub yet.
 +
* '''Build''', get newest minetest_game, run and check if the thing seems to be working.
  
Update Android version code build/android/Makefile ANDROID_VERSION_CODE (around line 27)
+
=== Build Windows version ===
  
Commit.
+
* Visual Studio 2010 currently makes best results (?).
 +
* Currently built by BlockMen (0.4.10). They have sound, gettext, cURL and TTF support.
 +
* Since 0.4.8, a MinGW build is also included, built by sfan5.
  
Tag the version in local git to allow the cmake versioning script to remove the git hash from the version. Do not push the tag to github yet.
+
'''''Be sure that the Windows build works before continuing to do anything!'''''
  
Build, get newest minetest_game, run and check if the thing seems to be working.
+
==== Tweak Windows package a bit ====
  
===Build Windows version===
+
* Include minetest_game or other subgames that were decided on before the release.
Visual Studio 2010 currently makes best results.
+
* Include msvcr100.dll and wrap_oal.dll in the package (bin/). The latter is one of the OpenAL DLLs that the CMake install scripts are currently missing. Those making official builds probably already know what they are doing.
  
Currently built by BlockMen (0.4.10).
+
=== Upload Windows package to somewhere ===
  
They have included sound, gettext, cURL and TTF support.
+
* Previously packages were uploaded to GitHub, but since then (2012-12) GitHub has ceased the functionality, and a new host must be found (document here). The packages take up roughly 60GB/month of bandwidth.
 +
* Since 0.4.5 the packages are hosted by xyz at minetest.ru.
 +
* Since 0.4.8 Windows packages are hosted at GitHub again: https://github.com/minetest/minetest/releases.
  
Since 0.4.8 a MinGW build is also included, built by sfan5.
+
=== Update branches and tags of minetest and minetest_game on GitHub ===
  
'''''Be sure that the windows build works before continuing to do anything!'''''
+
* See previous tags. Use the same tag for all of them; eg. "0.4.4".
 +
* GitHub's release functionality can be used if preferred.
 +
* The new release should be merged to the stable-0.4 branch on both minetest and minetest_game.
  
====Tweak Windows package a bit====
+
=== Update links on minetest.net ===
Include minetest_game or other subgames that were decided on before the release.
 
  
Include msvcr100.dll and wrap_oal.dll in the package (bin/). The latter is one of the OpenAL DLLs that the CMake install scripts are currently missing. Those making official builds probably already know what they are doing.
+
Some people from the community can edit the [minetest.net minetest.net] page (celeron55, PilzAdam, rubenwardy, BlockMen, Jordach, sfan5).
  
===Upload Windows package to somewhere===
+
=== Write a release notice ===
Previously packages were uploaded to GitHub, but since then (2012-12) GitHub has ceased the functionality, and a new host must be found (document here). The packages take up roughly 60GB/month of bandwidth.
 
  
Since 0.4.5 the packages are hosted by xyz at minetest.ru.
+
Usually a new topic in the [https://forum.minetest.net/viewforum.php?f=18 News section] of the forum. Changelog can be found [[Changelog|here]].
  
Since 0.4.8 Windows packages are hosted at github again: https://github.com/minetest/minetest/releases.
+
=== Update stuff on launchpad to get Ubuntu builds for the new version ===
  
===Update branches and tags of minetest and minetest_game on github===
+
'''Juhani Numminen''' hasn't been around in a long while, so celeron55 or PilzAdam must update Launchpad.
See previous tags. Use the same tag for all of them; eg. "0.4.4".
 
  
Github's release functionality can be used if preferred.
+
=== Notify other known package maintainers ===
  
The new release should be merged to the stable-0.4 branch on both minetest and minetest_game.
+
* '''emptty''' (@freenode) maintains debian packages
 +
* '''Zeitgeist_/damiel''' (@freenode) proxy-mantainer for minetest in Gentoo
 +
<!-- * ''TODO: Find more.''-->
  
===Update links on minetest.net===
+
== After releasing ==
Some people from the community can edit the minetest.net page (celeron55, PilzAdam, rubenwardy, BlockMen, Jordach, sfan5)
 
  
===Write a release notice===
+
=== Reenable -dev version suffix ===
Usually a new topic in the [https://forum.minetest.net/viewforum.php?f=18 News section] of the forum. Changelog can be found [[Changelog|here]].
 
  
===Update stuff on launchpad to get Ubuntu builds for the new version===
+
* '''Uncomment''' the line around CMakeLists.txt:20 that sets VERSION_PATCH to ${VERSION_PATCH}-dev.
Juhani Numminen hasn't been around in a long while, so celeron55 or PilzAdam must update Launchpad.
+
* '''Commit.'''
  
===Notify other known package maintainers===
 
* emptty (@freenode) maintains debian packages
 
* Zeitgeist_/damiel (@freenode) proxy-mantainer for minetest in Gentoo
 
TODO: Find more
 
  
===Reenable -dev version suffix===
+
[[Category:Core]]
Uncomment the line around CMakeLists.txt:20 that sets VERSION_PATCH to ${VERSION_PATCH}-dev. Commit.
 

Revision as of 18:04, 16 September 2014

Before releasing

Usually a feature freeze for one week is announced in #minetest-dev. New features aren't accepted in this time and people focus on finding and fixing bugs.

The feature freeze and release date is set by core developers.

The process

This is mostly done by several core developers.

Update version in source

  • Define a new version number in CMakeLists.txt, update doc/lua-api.txt and doc/menu_lua_api.txt. Comment out the line that sets VERSION_PATCH to ${VERSION_PATCH}-dev.
  • Update Android version code build/android/Makefile ANDROID_VERSION_CODE (around line 27)
  • Commit.
  • Tag the version in local git to allow the cmake versioning script to remove the git hash from the version. Do not push the tag to GitHub yet.
  • Build, get newest minetest_game, run and check if the thing seems to be working.

Build Windows version

  • Visual Studio 2010 currently makes best results (?).
  • Currently built by BlockMen (0.4.10). They have sound, gettext, cURL and TTF support.
  • Since 0.4.8, a MinGW build is also included, built by sfan5.

Be sure that the Windows build works before continuing to do anything!

Tweak Windows package a bit

  • Include minetest_game or other subgames that were decided on before the release.
  • Include msvcr100.dll and wrap_oal.dll in the package (bin/). The latter is one of the OpenAL DLLs that the CMake install scripts are currently missing. Those making official builds probably already know what they are doing.

Upload Windows package to somewhere

  • Previously packages were uploaded to GitHub, but since then (2012-12) GitHub has ceased the functionality, and a new host must be found (document here). The packages take up roughly 60GB/month of bandwidth.
  • Since 0.4.5 the packages are hosted by xyz at minetest.ru.
  • Since 0.4.8 Windows packages are hosted at GitHub again: https://github.com/minetest/minetest/releases.

Update branches and tags of minetest and minetest_game on GitHub

  • See previous tags. Use the same tag for all of them; eg. "0.4.4".
  • GitHub's release functionality can be used if preferred.
  • The new release should be merged to the stable-0.4 branch on both minetest and minetest_game.

Update links on minetest.net

Some people from the community can edit the [minetest.net minetest.net] page (celeron55, PilzAdam, rubenwardy, BlockMen, Jordach, sfan5).

Write a release notice

Usually a new topic in the News section of the forum. Changelog can be found here.

Update stuff on launchpad to get Ubuntu builds for the new version

Juhani Numminen hasn't been around in a long while, so celeron55 or PilzAdam must update Launchpad.

Notify other known package maintainers

  • emptty (@freenode) maintains debian packages
  • Zeitgeist_/damiel (@freenode) proxy-mantainer for minetest in Gentoo

After releasing

Reenable -dev version suffix

  • Uncomment the line around CMakeLists.txt:20 that sets VERSION_PATCH to ${VERSION_PATCH}-dev.
  • Commit.