From 4f5e87dbf2883a2ddfff363ed4cbaa6103fa6a88 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 14 Feb 2019 15:29:00 +0000 Subject: [PATCH] Update release notes for stable/rocky Also updates the release.sh script to support tagging release candidates and development milestones. Adds zuul configuration to trigger a Readthedocs webhook for the release notes. Change-Id: Ia784b34fb0b740998de72599d4921f9303e41cac --- doc/source/development/releases.rst | 26 +++++++++++++++++++++----- releasenotes/source/index.rst | 1 + releasenotes/source/queens.rst | 1 + releasenotes/source/rocky.rst | 7 +++++++ tools/release.sh | 11 ++++++++++- zuul.d/project.yaml | 19 +++++++++++++++++++ 6 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 releasenotes/source/rocky.rst 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'