1 2s=master 3#b=unstable 4v=$v-rc1 5 6OR 7 8x=4.1 9m=1 10rc=-rc2 11 12r=$x.$m 13s=$x-testing 14#b=$x-testing 15v=$r$rc 16 17t=$r$rc 18OR 19t=RELEASE-$r 20 21 22# FIRSTLY 23# - check (for point releases, but not RCs) all XSAs have been applied (Lars) 24# 25* check, even for point releases 26* http://logs.test-lab.xenproject.org/osstest/results/all-branch-statuses.txt 27 28 29# QEMU 30 31 git checkout $s 32 git show # should show appropriate intended commit 33 git-tag -u 'Xen.org Xen tree code signing' -m "Xen $v" xen-$v 34 35# consider making tag in minios, and updating xen.git Config.mk 36 git checkout SOMETHING 37 git show # should show appropriate intended commit 38 git-tag -u 'xen tree' -s -m "Xen $r$rc" xen-$t 39 git push xen@xenbits.xen.org:/home/xen/git/mini-os.git xen-$t 40 41* Also tag upstream qemu tree (Stefano) 42 git checkout SOMETHING 43 git show # should show appropriate intended commit 44 git tag -u 'xen tree' -s -m "Xen $r$rc" qemu-xen-$v 45 git push osstest@xenbits.xen.org:/home/xen/git/qemu-xen.git qemu-xen-$v 46 47* consider bumping sonames of shlibs 48 49* change xen-unstable README. The banner (generated using figlet) should say: 50 - "Xen 4.5" in releases and on stable branches 51 - "Xen 4.5-unstable" on unstable 52 - "Xen 4.5-rc" for release candidate 53 54* for major releases, drop staging-only text from MAINTAINERS and add stable 55 maintainer(s) there 56 57* change xen-unstable Config.mk 58# QEMU_UPSTREAM_REVISION, 59# MINIOS_UPSTREAM_REVISION 60# (drop any references to the specific commits, e.g. date or title) 61* change SUPPORT.md heading version number; -unstable or -rc tag 62* (empty in stable branches after .0 release). 63* SUPPORT.md: insert correct version number in release-notes link 64* CHANGELOG.md: set section heading to delete UNRELEASED and add date; 65# in unstable branches set to X.Y.0 and RELEASE-X.YY.0 66* change xen-unstable xen/Makefile XEN_EXTRAVERSION 67# if main version number has changed (eg 4.7 -> 4.8) rerun ./autogen.sh 68* rerun ./autogen.sh to update version number in configure 69# - XEN_EXTRAVERSION should be as follows 70# `.0-rc$(XEN_VENDORVERSION)' during freeze, first rc onwards (including staging, before branching) 71# `-unstable$(XEN_VENDORVERSION)' unstable aka unfrozen staging (or unstable branch, after branching) 72# `.0$(XEN_VENDORVERSION)' actual release of Xen X.Y.0 (aka first actual release of Xen X.Y) 73# `.Z$(XEN_VENDORVERSION)' actual release of Xen X.Y.Z (stable point realase) 74# `.Z-pre$(XEN_VENDORVERSION)' stable branch, after release of Z-1 75# 76# - turn off debug on stable branches, if not already done 77# - tools/Rules.mk 78# debug ?= n 79# - xen/Kconfig.debug 80# config DEBUG 81# default n 82 83* tag xen-unstable 84 85# In xen.git 86 git-fetch origin 87 git-checkout staging-$x 88 git-pull 89 git-show # should show commit updating version to right version 90 git-tag -u 'xen tree' -s -m "Xen $r$rc" $t 91 git-push origin $t 92 git-push origin staging-$x 93## hg tag <tag_name> ; hg sign -k "Xen tree" <tag_name> 94 95 96 97HANDLING TAG GENERATED BY RELEASE MANAGER 98 99 fetch the tag into my tree 100 make the tarball (RELEASE TARBALL, below) 101 test build (see below) 102 website (see below) 103 merge tag into staging and push to staging 104 maybe force push into master 105 definitely push tag to xenbits 106 git-push origin $t 107 108 109 110 111RELEASE TARBALL 112 113 for 4.5 and later, use tarball target 114 git checkout $t 115 git clean -xdff 116 # export http_proxy=http://localhost:3128/ 117 ./configure 118 make src-tarball-release # must be used for actual releases 119 make src-tarball # uses git-describe (best for RCs) 120 # ^find some way to add git-cache-proxy to this (done in ~iwj/.gitconfig) 121 mkdir /volatile/iwj/website-thing/xen.org/oss-xen/release/$v 122 mv dist/xen-$v.tar.gz /volatile/iwj/website-thing/xen.org/oss-xen/release/$v/. 123 124 # website-thing/xen.org is cvs -d mail.xenproject.org:/home/downloads-cvs/cvs-repos co xen.org 125 cd /volatile/iwj/website-thing/xen.org 126 127# test build 128 cd /volatile/iwj/d 129 mkdir build 130 cd build 131 tar zxf /volatile/iwj/website-thing/xen.org/oss-xen/release/$v/xen-$v.tar.gz 132# rsync -a --delete xen-$v build/ 133 cd xen-$v 134 export http_proxy=http://localhost:3128/ 135 (./configure && make -j4 KERNELS='' && echo ok.) 2>&1 | tee ../log.$v # post 4.2 136 137# [[ test build amd64 ]] 138 139 cvs add -kb oss-xen/release/$v/ 140 141 cd oss-xen/release/$v 142 gpg --digest-algo=SHA256 --detach-sign -u 'xen tree' xen-$v.tar.gz 143 cvs add -kb xen-$v.tar.gz 144 cvs add -kb xen-$v.tar.gz.sig 145 cd ../../.. 146 147 cvs ci -m $v 148 149 ssh downloads-cvs@mail.xenproject.org 150 cd /data/downloads.xenproject.org/xen.org 151 cvs -q up -d 152 # should show something like 153 # U oss-xen/release/4.8.0-rc2/xen-4.8.0-rc2.tar.gz 154 # U oss-xen/release/4.8.0-rc2/xen-4.8.0-rc2.tar.gz.sig 155 156After a .0 release, update XEN_EXTRAVERSION again (to .1-pre, see above). 157 158After a .0 release, 159Update new stable tree's MAINTAINERS to contain correct info for this 160stable branch: usually, copy text from previous 161staging-$ov:MAINTAINERS section "Stable Release Maintenance" 162into new staging-$v, deleting what's there. 163 git cat-file blob origin/staging-$ov:MAINTAINERS >MAINTAINERS 164and review the changes, commiting ONLY THE RELEVANT ONES 165 166Notify release manager of completion 167 168