fix logic for adding new release notes pages
Start by moving the steps to their own script so they are easier to test locally. Then fix the logic for inserting new entries into the toctree so it takes the indentation into account. This version assumes we're standardizing on listing release notes in reverse chronological order, and those changes will be made separately. Change-Id: Ib1f74e05c36ba1d247c324c276cfc2d8d75d9420 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
parent
58405e9786
commit
5eaaf0ccca
60
jenkins/scripts/release-tools/add_release_note_page.sh
Executable file
60
jenkins/scripts/release-tools/add_release_note_page.sh
Executable file
@ -0,0 +1,60 @@
|
||||
#!/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 reno for $NEW_BRANCH"
|
||||
titlebranch=$(python -c "print('$SERIES'.title())")
|
||||
cat - > releasenotes/source/${SERIES}.rst <<EOF
|
||||
===================================
|
||||
$titlebranch Series Release Notes
|
||||
===================================
|
||||
|
||||
.. release-notes::
|
||||
:branch: origin/$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}"
|
@ -60,22 +60,7 @@ if [[ -d releasenotes/source ]]; then
|
||||
# Also update the reno settings, in master
|
||||
echo "Updating reno"
|
||||
git checkout master
|
||||
shortbranch=$(basename $NEW_BRANCH)
|
||||
commit_msg="Update reno for $NEW_BRANCH"
|
||||
titlebranch=$(python -c "print('$shortbranch'.title())")
|
||||
cat - > releasenotes/source/${shortbranch}.rst <<EOF
|
||||
===================================
|
||||
$titlebranch Series Release Notes
|
||||
===================================
|
||||
|
||||
.. release-notes::
|
||||
:branch: origin/$NEW_BRANCH
|
||||
EOF
|
||||
echo " $shortbranch" >> releasenotes/source/index.rst
|
||||
git add releasenotes/source/index.rst releasenotes/source/${shortbranch}.rst
|
||||
git commit -m "$commit_msg"
|
||||
git show
|
||||
git review -t "reno-${shortbranch}"
|
||||
$TOOLSDIR/add_release_note_page.sh $SERIES .
|
||||
else
|
||||
echo "$REPO does not use reno, no update needed"
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user