Skip to content
This repository has been archived by the owner on Dec 5, 2017. It is now read-only.

Release Issue Template

Sergiusz Urbaniak edited this page Dec 10, 2015 · 16 revisions

Release steps

Prerequisites

Take care to have all remote branches and tags up-to-date:

$ git fetch origin
$ git fetch origin --tags
$ git fetch upstream
$ git fetch upstream --tags

Make any final updates to the Known Issues document.

Tag

In http://github.com/mesosphere/kubernetes

  • create or update a release branch with all necessary cherry-picks, e.g. release-v0.6-v1.0 (in exceptional situations this can be called release-v0.6.1-v1.0.0).

    • find the first relevant merge commit which is not cherry-picked yet in the following list:

      $ git log --oneline --first-parent upstream/master | grep -i mesos

    • cherry-pick those merge commits which should be part of the release using:

      $ git cherry-pick -m 1 <sha>.

      Do the usual cherry-pick conflict resolution with add and cherry-pick --continue if necessary.

    • The release branch is without the 3rd digits to allow further minor version updates of the branch names without switching names all the time. Moreover, we should try to keep a linear version history between releases with minor version updates.

  • tag release branch with e.g. v0.6.6-v1.0.6

In http://github.com/mesosphere/kubernetes-mesos

  • Bump GIT_REF version in Makefile to v0.6.6-v1.0.6, commit and push
  • tag master branch of with e.g. v0.6.6

Build

In https://github.com/mesosphere/kubernetes-mesos/ images/docs:

  • make clean
  • build docker image: make build
  • push docker image: make push
  • push docker image: make github-release-assets
  • Modify the title of the created release draft to "Release Candidate of Kubernetes on Mesos v0.6.6-v1.0.6"
  • add release notes with the changes to the release description on http://github.com/mesosphere/kubernetes/releases following the format of previous releases.

Note: to push images you need authorization for the mesosphere/kubernetes docker hub image. Contact any SRE for getting authorization.

Useful command to let latest mesosphere pull requests (e3188f6ee7007000c5daf525c8cc32b4c5bf4ba8 is the first common commit between the release branch and master):

git log --oneline --first-parent e3188f6ee7007000c5daf525c8cc32b4c5bf4ba8..upstream/master | \
grep -i mesos | sed 's,^\([^ ]*\).*#\([0-9]*\) from \(.*\)$,- \3 http://github.com/kubernetes/kubernetes/pull/\2,' | \
sed '1!G;h;$!d'

In https://github.com/mesosphere/multiverse:

  • create release branch, e.g. kubernetes-v0.6.6-v1.0.6
  • copy repo/packages/K/kubernetes/<n> to repo/packages/K/kubernetes/<n+1>
  • update version in package.json,
  • update config.json (docker image version)
  • commit as Initial Kubernetes-Mesos v0.6.6-v1.0.6
  • execute scripts/build.sh and commit changes as independent commit
  • create PR against version-1.x

In https://github.com/mesosphere/mesosphere-docs:

  • create PR:
    • use the current master version as a base and update all http links to point to the to be released version.
    • add a xref to the corresponding multiverse PR in the description
    • prefix the PR title with WIP/DO-NOT-MERGE until the multiverse PR merges.

Wait for Multiverse LGTM

In http://github.com/mesosphere/mesosphere-docs:

  • merge multiverse

Once multiverse PR merges

  • merge the http://github.com/mesosphere/mesosphere-docs changes and wait for staging rebuild to happen (usually within 1h);
  • verify that your version bump changes are good (manually walk through the steps in the entire doc)
  • file a ticket in JIRA to request a merge from staging to prod (link to the GH PR)
    • project: DOCS
    • owner: joel hamill
  • run and verify functionality of the k8s guestbook as a sanity check
Clone this wiki locally