summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/source/development/releases.rst26
-rw-r--r--releasenotes/source/index.rst1
-rw-r--r--releasenotes/source/queens.rst1
-rw-r--r--releasenotes/source/rocky.rst7
-rwxr-xr-xtools/release.sh11
-rw-r--r--zuul.d/project.yaml19
6 files changed, 59 insertions, 6 deletions
diff --git a/doc/source/development/releases.rst b/doc/source/development/releases.rst
index 6e6607e..d1a89ac 100644
--- a/doc/source/development/releases.rst
+++ b/doc/source/development/releases.rst
@@ -11,7 +11,7 @@ project, it cannot use the official release tooling in the
11There are various `useful files 11There are various `useful files
12<http://git.openstack.org/cgit/openstack-infra/project-config/tree/roles/copy-release-tools-scripts/files/release-tools/>`__ 12<http://git.openstack.org/cgit/openstack-infra/project-config/tree/roles/copy-release-tools-scripts/files/release-tools/>`__
13in the ``openstack-infra/project-config`` repository. In particular, see the 13in the ``openstack-infra/project-config`` repository. In particular, see the
14``releases.sh`` and ``make_branch.sh`` scripts. 14``release.sh`` and ``make_branch.sh`` scripts.
15 15
16Preparing for a release 16Preparing for a release
17======================= 17=======================
@@ -44,6 +44,25 @@ Add a prelude to release notes
44It's possible to add a prelude to the release notes for a particular release 44It's possible to add a prelude to the release notes for a particular release
45using a ``prelude`` section in a ``reno`` note. 45using a ``prelude`` section in a ``reno`` note.
46 46
47Creating a release candidate
48============================
49
50Prior to cutting a stable branch, the ``master`` branch should be tagged as a
51release candidate. This allows the ``reno`` tool to determine where to stop
52searching for release notes for the next release. The tag should take the
53following form: ``<release tag>.0rc$n``, where ``$n`` is the release candidate
54number.
55
56The ``tools/release.sh`` script in the ``kayobe`` repository can be used to tag
57a release and push it to Gerrit. For example, to tag and release the ``kayobe``
58deliverable release candidate ``4.0.0.0rc1`` in the Queens series from the base
59of the ``stable/queens`` branch:
60
61.. code-block:: console
62
63 ref=$(git merge-base origin/stable/queens origin/master)
64 ./tools/release.sh kayobe 4.0.0.0rc1 $ref queens
65
47Creating a stable branch 66Creating a stable branch
48======================== 67========================
49 68
@@ -105,7 +124,4 @@ Post-release activites
105An email will be sent to the release-announce mailing list about the new 124An email will be sent to the release-announce mailing list about the new
106release. 125release.
107 126
108.. TODO: Setup RTD integration for release notes. 127The release notes and documentation are built automatically via a webhook.
109
110The release notes need to be rebuilt manually since there is no readthedocs
111webhook integration for these yet.
diff --git a/releasenotes/source/index.rst b/releasenotes/source/index.rst
index 6212c3a..4059416 100644
--- a/releasenotes/source/index.rst
+++ b/releasenotes/source/index.rst
@@ -6,6 +6,7 @@ Kayobe Release Notes
6 :maxdepth: 1 6 :maxdepth: 1
7 7
8 unreleased 8 unreleased
9 rocky
9 queens 10 queens
10 pike 11 pike
11 ocata 12 ocata
diff --git a/releasenotes/source/queens.rst b/releasenotes/source/queens.rst
index b1d1e1b..97e1c5f 100644
--- a/releasenotes/source/queens.rst
+++ b/releasenotes/source/queens.rst
@@ -4,3 +4,4 @@ Queens (4.x.y) Series Release Notes
4 4
5.. release-notes:: 5.. release-notes::
6 :branch: stable/queens 6 :branch: stable/queens
7 :earliest-version: 4.0.0
diff --git a/releasenotes/source/rocky.rst b/releasenotes/source/rocky.rst
new file mode 100644
index 0000000..9077f9f
--- /dev/null
+++ b/releasenotes/source/rocky.rst
@@ -0,0 +1,7 @@
1==================================
2Rocky (5.x.y) Series Release Notes
3==================================
4
5.. release-notes::
6 :branch: stable/rocky
7 :earliest-version: 5.0.0
diff --git a/tools/release.sh b/tools/release.sh
index 903f0d3..2510b02 100755
--- a/tools/release.sh
+++ b/tools/release.sh
@@ -30,13 +30,22 @@ REPO=$1
30VERSION=$2 30VERSION=$2
31REF=$3 31REF=$3
32SERIES=$4 32SERIES=$4
33RELEASETYPE=release
34 33
35[[ -n $REPO ]] || (echo "Repo not specified"; exit 1) 34[[ -n $REPO ]] || (echo "Repo not specified"; exit 1)
36[[ -n $VERSION ]] || (echo "Version not specified"; exit 1) 35[[ -n $VERSION ]] || (echo "Version not specified"; exit 1)
37[[ -n $REF ]] || (echo "Ref not specified"; exit 1) 36[[ -n $REF ]] || (echo "Ref not specified"; exit 1)
38[[ -n $SERIES ]] || (echo "Series not specified"; exit 1) 37[[ -n $SERIES ]] || (echo "Series not specified"; exit 1)
39 38
39pre_release_pat='\.[[:digit:]]+[ab][[:digit:]]+'
40rc_release_pat='\.[[:digit:]]+rc[[:digit:]]+'
41if [[ $VERSION =~ $pre_release_pat ]]; then
42 RELEASETYPE="development milestone"
43elif [[ $VERSION =~ $rc_release_pat ]]; then
44 RELEASETYPE="release candidate"
45else
46 RELEASETYPE="release"
47fi
48
40TARGETSHA=`git log -1 $REF --format='%H'` 49TARGETSHA=`git log -1 $REF --format='%H'`
41 50
42# Determine the most recent tag before we add the new one. 51# Determine the most recent tag before we add the new one.
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 76394b6..e0ba1a3 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -30,3 +30,22 @@
30 - kayobe-overcloud-upgrade-centos 30 - kayobe-overcloud-upgrade-centos
31 - kayobe-seed-centos 31 - kayobe-seed-centos
32 - kayobe-seed-upgrade-centos 32 - kayobe-seed-upgrade-centos
33
34 post:
35 jobs:
36 - trigger-readthedocs-webhook:
37 vars:
38 rtd_project_name: kayobe-release-notes
39 rtd_webhook_id: '74820'
40 pre-release:
41 jobs:
42 - trigger-readthedocs-webhook:
43 vars:
44 rtd_project_name: kayobe-release-notes
45 rtd_webhook_id: '74820'
46 release:
47 jobs:
48 - trigger-readthedocs-webhook:
49 vars:
50 rtd_project_name: kayobe-release-notes
51 rtd_webhook_id: '74820'