Files
project-config/roles/copy-release-tools-scripts/files/release-tools/add_release_note_page.sh
Doug Hellmann d919755370 update the branching script to include a semver bump
We want to ensure that the version numbers on master are always higher
than the version numbers on stable branches. We can do that by
including an instruction in the commit message for the patch that adds
the reno documentation build file when a branch is created. We use
"feature" because we just need to bump the version enough to ensure it
doesn't conflict with the stable branch but do not want to force new
versions that make it appear the new release will be incompatible.

Change-Id: I99f7e3858e94ac3bdc5780945e941db6e9b2bba9
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-10-12 11:49:46 -04:00

71 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
#
# Script to update release notes in a repository when a new branch
# is created.
#
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
set -ex
if [[ $# -lt 2 ]]; then
echo "Usage: $0 series repo_dir"
echo
echo "Example: $0 kilo openstack/oslo.config"
exit 2
fi
TOOLSDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $TOOLSDIR/functions
SERIES=$1
REPO=$2
cd $REPO
NEW_BRANCH="stable/$SERIES"
commit_msg="Update master for $NEW_BRANCH
Add file to the reno documentation build to show release notes for
$NEW_BRANCH.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
$NEW_BRANCH.
Sem-Ver: feature
"
titlebranch=$(python -c "print('$SERIES'.title())")
cat - > releasenotes/source/${SERIES}.rst <<EOF
===================================
$titlebranch Series Release Notes
===================================
.. release-notes::
:branch: $NEW_BRANCH
EOF
# Look at the indentation of the existing entries and reuse the same
# depth.
spaces=$(grep unreleased releasenotes/source/index.rst | sed -e 's/\w//g')
# Insert the new release after the "unreleased" entry so the
# notes appear in reverse chronological order.
sed --in-place -e "/unreleased/s/unreleased/unreleased\n${spaces}${SERIES}/" releasenotes/source/index.rst
git add releasenotes/source/index.rst releasenotes/source/${SERIES}.rst
git diff
git commit -m "$commit_msg"
git show
git review -t "reno-${SERIES}" --yes