diff --git a/doc/source/development/releases.rst b/doc/source/development/releases.rst
index 6e6607ee8..d1a89acf3 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
There are various `useful files
`__
in the ``openstack-infra/project-config`` repository. In particular, see the
-``releases.sh`` and ``make_branch.sh`` scripts.
+``release.sh`` and ``make_branch.sh`` scripts.
Preparing for a release
=======================
@@ -44,6 +44,25 @@ Add a prelude to release notes
It's possible to add a prelude to the release notes for a particular release
using a ``prelude`` section in a ``reno`` note.
+Creating a release candidate
+============================
+
+Prior to cutting a stable branch, the ``master`` branch should be tagged as a
+release candidate. This allows the ``reno`` tool to determine where to stop
+searching for release notes for the next release. The tag should take the
+following form: ``.0rc$n``, where ``$n`` is the release candidate
+number.
+
+The ``tools/release.sh`` script in the ``kayobe`` repository can be used to tag
+a release and push it to Gerrit. For example, to tag and release the ``kayobe``
+deliverable release candidate ``4.0.0.0rc1`` in the Queens series from the base
+of the ``stable/queens`` branch:
+
+.. code-block:: console
+
+ ref=$(git merge-base origin/stable/queens origin/master)
+ ./tools/release.sh kayobe 4.0.0.0rc1 $ref queens
+
Creating a stable branch
========================
@@ -105,7 +124,4 @@ Post-release activites
An email will be sent to the release-announce mailing list about the new
release.
-.. TODO: Setup RTD integration for release notes.
-
-The release notes need to be rebuilt manually since there is no readthedocs
-webhook integration for these yet.
+The release notes and documentation are built automatically via a webhook.
diff --git a/releasenotes/source/index.rst b/releasenotes/source/index.rst
index 6212c3a1f..40594160e 100644
--- a/releasenotes/source/index.rst
+++ b/releasenotes/source/index.rst
@@ -6,6 +6,7 @@ Kayobe Release Notes
:maxdepth: 1
unreleased
+ rocky
queens
pike
ocata
diff --git a/releasenotes/source/queens.rst b/releasenotes/source/queens.rst
index b1d1e1b12..97e1c5f86 100644
--- a/releasenotes/source/queens.rst
+++ b/releasenotes/source/queens.rst
@@ -4,3 +4,4 @@ Queens (4.x.y) Series Release Notes
.. release-notes::
:branch: stable/queens
+ :earliest-version: 4.0.0
diff --git a/releasenotes/source/rocky.rst b/releasenotes/source/rocky.rst
new file mode 100644
index 000000000..9077f9fbe
--- /dev/null
+++ b/releasenotes/source/rocky.rst
@@ -0,0 +1,7 @@
+==================================
+Rocky (5.x.y) Series Release Notes
+==================================
+
+.. release-notes::
+ :branch: stable/rocky
+ :earliest-version: 5.0.0
diff --git a/tools/release.sh b/tools/release.sh
index 903f0d3e8..2510b025d 100755
--- a/tools/release.sh
+++ b/tools/release.sh
@@ -30,13 +30,22 @@ REPO=$1
VERSION=$2
REF=$3
SERIES=$4
-RELEASETYPE=release
[[ -n $REPO ]] || (echo "Repo not specified"; exit 1)
[[ -n $VERSION ]] || (echo "Version not specified"; exit 1)
[[ -n $REF ]] || (echo "Ref not specified"; exit 1)
[[ -n $SERIES ]] || (echo "Series not specified"; exit 1)
+pre_release_pat='\.[[:digit:]]+[ab][[:digit:]]+'
+rc_release_pat='\.[[:digit:]]+rc[[:digit:]]+'
+if [[ $VERSION =~ $pre_release_pat ]]; then
+ RELEASETYPE="development milestone"
+elif [[ $VERSION =~ $rc_release_pat ]]; then
+ RELEASETYPE="release candidate"
+else
+ RELEASETYPE="release"
+fi
+
TARGETSHA=`git log -1 $REF --format='%H'`
# Determine the most recent tag before we add the new one.
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 76394b653..e0ba1a332 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -30,3 +30,22 @@
- kayobe-overcloud-upgrade-centos
- kayobe-seed-centos
- kayobe-seed-upgrade-centos
+
+ post:
+ jobs:
+ - trigger-readthedocs-webhook:
+ vars:
+ rtd_project_name: kayobe-release-notes
+ rtd_webhook_id: '74820'
+ pre-release:
+ jobs:
+ - trigger-readthedocs-webhook:
+ vars:
+ rtd_project_name: kayobe-release-notes
+ rtd_webhook_id: '74820'
+ release:
+ jobs:
+ - trigger-readthedocs-webhook:
+ vars:
+ rtd_project_name: kayobe-release-notes
+ rtd_webhook_id: '74820'