Archive:Release Checklist: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Althekiller
(New page: Since we don't release all that often or consistently, we seem to forget some key steps in the process. Hence, a checklist! ==Testing== The following apply for all supported platforms and...)
 
mNo edit summary
 
(40 intermediate revisions by 14 users not shown)
Line 1: Line 1:
Since we don't release all that often or consistently, we seem to forget some key steps in the process. Hence, a checklist!
Since we don't release all that often or consistently, we seem to forget some key steps in the process. Hence, a checklist!<br />'''On this page the term "release" refers to the final stable release tag and binaries.'''
==Testing==
 
== Version scheme ==
 
Internal version numbering
 
* 14.0 Alpha1: 13.9.701
* 14.0 Alpha2: 13.9.702
* 14.0 Beta1: 13.9.801
* 14.0 RC1: 13.9.901
* 14.0 final: 14.0.000
* 14.1 final: 14.1.000
* 14.1 Beta1: 14.1.801
* 14.1 RC1: 14.1.901
 
 
* 15.0 Alpha1: 14.9.701
* 15.0 Alpha2: 14.9.702
* 15.0 Beta1: 14.9.801
* 15.0 RC1: 14.9.901
* 15.0 final: 15.0.000
 
Example:
https://github.com/xbmc/xbmc/pull/4633
 
== Release manager ==
 
Before starting a new release and calling a feature freeze, a release manager needs to be picked.
He will guide the release through the feature freeze process, beta stage, release candidates and in the end the final release.
In case there need to be bugfixes he will handle those as well.
 
The Release Manager has absolute Authority regarding the release.
From the moment of feature freeze he is in control. During feature freeze only bugfixes are allowed to go in and mayor ones need to go through a pull request.
He will call the moment of beta cycle to final release.
 
 
== Testing ==
The following apply for all supported platforms and architectures.
The following apply for all supported platforms and architectures.
* Compile.
* Compile.
Line 9: Line 44:
* Initialization of new settings and databases.
* Initialization of new settings and databases.
* Updating of settings and databases from the last stable release.
* Updating of settings and databases from the last stable release.
==Pre-tag/branch==
 
* Update version string in xbmc/utils/GUIInfoManager.h
== Pre-tag/branch ==
* Update version string for OSX installer in...[all you davilla]
* Update version string:
* Update version string for Windows installer in...[wiso? jm?]
:* configure.in (see AC_INIT)
==Post-release==
:* tools/android/depends/configure.in (see AC_INIT)
* Update version string in xbmc/utils/GUIInfoManager.h to pre-[NextVersion].
:* tools/android/packaging/xbmc/AndroidManifest.xml
:: Bump android:versionCode="1" by one for each beta/rc/release
:: Change android:versionName"12.0-BETA3" to match others
:* xbmc/utils/GUIInfoManager.h
:* tools/darwin/packaging/xbmc-ios/mkdeb-xbmc-ios.sh
:* tools/darwin/packaging/xbmc-atv2/mkdeb-xbmc-atv2.sh
:* xbmc/osx/Info.plist (there are two strings to change)
:* xbmc/win32/XBMC_PC.rc
* Update any necessary changelogs, readmes, known_bugs
* Update XBMC Credits
 
See below the version bump updates undertaken for Frodo Beta 1:
* [https://github.com/MartijnKaijser/xbmc/commit/d2b6456e09bf0ff74ecbac73a49d3fec72cacb17 XBMC Version bump]
* [https://github.com/xbmc/xbmc/commit/d9c5aad1b8d2fab670eacee286b39263f898eed5 json bump]
* [https://github.com/xbmc/xbmc/commit/fc6558ad7c82538179a89faceecbaaa6a6b872be default webinterface bump]
* [https://github.com/xbmc/xbmc/pull/1781 Repo bump]
* [https://github.com/xbmc/xbmc/pull/1789 Scraper sync]
 
== Release ==
* tag release commit on github
* build release builds on buildbot
* move from staging to final location (using shell service)
* update links and analytics on xbmc.org/download
* add xbmc.org frontpage news item. tick 'Announcements' category also (for sidebar)
* Add trac version and set as default milestone.
* [WIN32] copy the file XBMC.pdb for the released binary to the team ftp server and name it accordingly (is this all we need for reading crash dumps?)
 
 
[https://github.com/xbmc/xbmc/commit/fb595f23fbf4f4a4bc9297373f5f0138a1e01a9f| Release bump example]
 
=== PPA builds ===
 
Info here
 
== Post-release ==
 
Post release the steps in Merge window should be followed again.
 
[[Category:Development-Archived]]

Latest revision as of 07:26, 3 August 2020

Since we don't release all that often or consistently, we seem to forget some key steps in the process. Hence, a checklist!
On this page the term "release" refers to the final stable release tag and binaries.

Version scheme

Internal version numbering

  • 14.0 Alpha1: 13.9.701
  • 14.0 Alpha2: 13.9.702
  • 14.0 Beta1: 13.9.801
  • 14.0 RC1: 13.9.901
  • 14.0 final: 14.0.000
  • 14.1 final: 14.1.000
  • 14.1 Beta1: 14.1.801
  • 14.1 RC1: 14.1.901


  • 15.0 Alpha1: 14.9.701
  • 15.0 Alpha2: 14.9.702
  • 15.0 Beta1: 14.9.801
  • 15.0 RC1: 14.9.901
  • 15.0 final: 15.0.000

Example: https://github.com/xbmc/xbmc/pull/4633

Release manager

Before starting a new release and calling a feature freeze, a release manager needs to be picked. He will guide the release through the feature freeze process, beta stage, release candidates and in the end the final release. In case there need to be bugfixes he will handle those as well.

The Release Manager has absolute Authority regarding the release. From the moment of feature freeze he is in control. During feature freeze only bugfixes are allowed to go in and mayor ones need to go through a pull request. He will call the moment of beta cycle to final release.


Testing

The following apply for all supported platforms and architectures.

  • Compile.
  • Video playback of popular codecs. (xvid, h264, vc1, mpeg2)
  • Audio playback of popular codecs. (mp3, aac(+), ogg, flac, , ac3, dts)
  • Playback from popular sources. (local, dvd, smb, http)
  • Scripts/plugins.
  • Initialization of new settings and databases.
  • Updating of settings and databases from the last stable release.

Pre-tag/branch

  • Update version string:
  • configure.in (see AC_INIT)
  • tools/android/depends/configure.in (see AC_INIT)
  • tools/android/packaging/xbmc/AndroidManifest.xml
Bump android:versionCode="1" by one for each beta/rc/release
Change android:versionName"12.0-BETA3" to match others
  • xbmc/utils/GUIInfoManager.h
  • tools/darwin/packaging/xbmc-ios/mkdeb-xbmc-ios.sh
  • tools/darwin/packaging/xbmc-atv2/mkdeb-xbmc-atv2.sh
  • xbmc/osx/Info.plist (there are two strings to change)
  • xbmc/win32/XBMC_PC.rc
  • Update any necessary changelogs, readmes, known_bugs
  • Update XBMC Credits

See below the version bump updates undertaken for Frodo Beta 1:

Release

  • tag release commit on github
  • build release builds on buildbot
  • move from staging to final location (using shell service)
  • update links and analytics on xbmc.org/download
  • add xbmc.org frontpage news item. tick 'Announcements' category also (for sidebar)
  • Add trac version and set as default milestone.
  • [WIN32] copy the file XBMC.pdb for the released binary to the team ftp server and name it accordingly (is this all we need for reading crash dumps?)


Release bump example

PPA builds

Info here

Post-release

Post release the steps in Merge window should be followed again.