Release Process
You are viewing an old version of this article. View
the current version here.
Procedures for doing a MariaDB release
This page documents the release process for MariaDB.
Release Steps
- Commit fixes into the appropriate tree until Buildbot looks OK
- The Release Coordinator adds a release tag to the release tree (e.g. tag:mariadb-5.2.5 for the 5.2.5 release, see note 1 below for sample command line)
- The release coordinator notifies the following of the tag, the build number
(see Note 6, below), and that the tree is ready for release:
- The Maria Docs team
(
maria-docs [at] lists (dot) launchpad (dot) net
) - The Maria Dev team
(
maria-dev [at] lists (dot) launchpad (dot) net
) - The community team (
community [at] askmonty (dot) org
)
- The Maria Docs team
(
- The Builbot buildslaves build packages and the release coordinator informs the Docs team when they are ready to be copied over
- Someone with the proper access logs in to the osuosl mirror and updates the get.sh script with the correct values and then runs the script. This script uploads the source tarball, the generic Linux binaries, and the windows builds.
- Someone on the release team creates the Debian and Ubuntu repositories then uploads them to osuosl. (See note 4)
- Someone on the release team signs the RPM packages and then uploads them to osuosl. (See note 5)
- Once all files are uploaded to osuosl, run the trigger script, to push the
new files out to the public server:
./trigger-mariadb
- Packages get uploaded to mirrors (this happens automatically as soon as the files are uploaded to osuosl)
- The Docs team imports the new release into the MariaDB Download system
- The Docs team fills in, edits, and finishes the release notes and changelog
pages and removes the
unreleased
template (if it is there) about the information on the page being about an unreleased version - The Docs team creates release notes and changelog pages for the next release
(so that the developers can fill them in as they work on the release)
- The unreleased banner should be placed on these pages to let users know
that the information on the page is about an unreleased version. The creole
syntax for including the template is:
<<include slug="unreleased">>
- The unreleased banner should be placed on these pages to let users know
that the information on the page is about an unreleased version. The creole
syntax for including the template is:
- The Docs team preps updates to other documentation as necessary
- Once all packages have been mirrored, the Docs team activates the new release
on the MariaDB Downloads page and activates
any other documentation changes/additions
- Use the "Check Mirrors" feature of the downloads system to check if the files are fully mirrored.
- Announce the release
- Consolidate release announcements when possible (e.g. one release email for a set of 5.1/5.2/5.3 releases in a single week).
- The Docs team updates (if applicable):
- the releases RSS feed
- the MariaDB Download Banner
- the banners on http://mariadb.org, http://askmonty.org, and http://kb.askmonty.org
- An IRC op (Daniel, etc...) updates the topic in #maria
- The community team announces the release on the announce and maria-discuss mailing lists, and via blogs and other methods
- For major releases, send the release announcement through PR Newswire (Colin does this now)
Notes:
- Tagging releases: Here is an example bzr command line to make the tag:
bzr tag --directory lp:~maria-captains/maria/5.1-release mariadb-5.1.41-rc
- Creating md5sums: Here are the commands I (Daniel) use to create the md5sums of a release:
cd /path/to/dir/with/releases/ release='mariadb-5.2.1-beta' for dir in $(find ${PWD}/${release} -type d); do echo; echo ${dir};cd ${dir};md5sum *;echo;echo;done
- Obtaining info for Changelog and Release Notes: A raw log of all changes can be obtained from bzr as follows:
sourcedir="5.1" oldrelease="mariadb-5.1.44b" newrelease="mariadb-5.1.47" bzr branch --no-tree -rtag:${oldrelease} ${sourcedir} ${oldrelease} bzr branch --no-tree -rtag:${newrelease} ${sourcedir} ${newrelease} cd ${newrelease}/ bzr missing --line --include-merges ../${oldrelease} > /tmp/short.txt bzr missing --include-merges ../${oldrelease} > /tmp/long.txt
It is then a manual process to read through this and convert it into some kind of human-readable release notes... - Creating Debian and Ubuntu Repositories: Prior to doing this, branch mariadb-tools from Launchpad:
bzr branch lp:mariadb-tools/trunk mariadb-tools
(or update a previously branched copy with "bzr pull").- Copy the build over to a working directory.
- Run the following commands:
mkdir repo cd repo eval $(gpg-agent --daemon) path/to/mariadb-tools/buildbot/mkrepo-debian.sh debian path/to/build-buildnum path/to/mariadb-tools/buildbot/mkrepo-ubuntu.sh ubuntu path/to/build-buildnum cd ../
- On the osuosl mirror, move the old repo/5.x dir and upload the new repo to repo/5.x
scp -r repo osuosl:data/repo/5.2
- Clean up your working directory by removing the local repo and build-
###
directories
- Signing RPM Packages:
- Prior to beginning, ensure that you have a .rpmmacros file with the following contents (replace '<keyname>' with the actual key name):
%_signature gpg %_gpg_path ~/.gnupg %_gpg_name <keyname> %_gpgbin /usr/bin/gpg
- Copy the
build-###
directory over to a working directory. - Sign the files:
rpm --addsign $(find build-### -name '*.rpm')
- cd into the build dir and regenerate the md5sums:
for dir in $(ls -d *rpm*);do cd ${dir}; pwd; rm -v md5sums.txt; md5sum $(find . -name '*.rpm') >> md5sums.txt; md5sum -c md5sums.txt; cd ../; done
- Upload the files to the primary mirror:
release="mariadb-5.2.7" for dir in $(ls -d *rpm*);do scp -r ${dir} osuosl:data/${release}/ done
- Prior to beginning, ensure that you have a .rpmmacros file with the following contents (replace '<keyname>' with the actual key name):
- Determining build numbers for releases: Build numbers come from
Buildbot. To get the build number for a specific buid, e.g. for MariaDB 5.2
builds:
- Look at the columns here. The headers across the top list the branch (5.2 in this case) and the revision numbers for the last five builds.
- Pick the column that corresponds to the revision number with the with the correct release tag (you can view the tags and revision numbers on Launchpad).
- Select one of the builds in the correct column and look for the property
"tarbuildnum". This is the
build-###
directory you want.
Comments
Comments loading...
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.