Update lib release instructions for freeze
This updates the instructions for client and non-client lib freeze to make sure all changes are captured in a final release. Also adds a helper tool to separate out the two types of libs since they have different deadlines. Change-Id: I29ea73bcc5a9649d7d9c502ebc0a05c840e41484 Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
This commit is contained in:
parent
36ef64762d
commit
73d6e8b1a0
@ -162,12 +162,22 @@ Between Milestone-2 and Milestone-3
|
||||
#. Two weeks before Milestone-3, include a reminder about the final
|
||||
library release freeze coming the week before Milestone-3.
|
||||
|
||||
#. Run the command from milestone-2 again to get a list of libraries::
|
||||
#. Run the following command to get a list of libraries::
|
||||
|
||||
tools/list_library_unreleased_changes.sh
|
||||
|
||||
#. Include list of unreleased libraries in the email to increase visibility.
|
||||
|
||||
#. One week before Milestone-3, include a reminder about the final
|
||||
client library release freeze coming the week of Milestone-3.
|
||||
|
||||
#. Run the following command to get a list of client libraries::
|
||||
|
||||
tools/list_client_library_unreleased_changes.sh
|
||||
|
||||
#. Include list of unreleased client libraries in the email to increase
|
||||
visibility.
|
||||
|
||||
#. Two weeks before Milestone-3, prepare other teams to the final release
|
||||
rush.
|
||||
|
||||
@ -191,15 +201,12 @@ Final Library Release (week before Milestone-3)
|
||||
===============================================
|
||||
|
||||
#. Generate a list of all cycle-with-intermediary libraries (except client
|
||||
libraries) which did not release since the YYYY-MM-DD date of milestone-2.
|
||||
libraries) which have commits that have not been included in a release.
|
||||
For this, run::
|
||||
|
||||
tox -e venv -- list-deliverables --unreleased-since YYYY-MM-DD
|
||||
--model cycle-with-intermediary --type library
|
||||
./tools/list_library_unrelease_changes.sh
|
||||
|
||||
Generate release requests for all cycle-with-intermediary libraries
|
||||
(except client libraries) which had changes, but did not release since
|
||||
milestone-2. That patch will be used as a base to communicate with the
|
||||
That patch will be used as a base to communicate with the
|
||||
team: if a team wants to wait for a specific patch to make it to the
|
||||
library, someone from the team can -1 the patch to have it held, or update
|
||||
that patch with a different commit SHA.
|
||||
@ -227,14 +234,12 @@ Milestone-3
|
||||
===========
|
||||
|
||||
#. Generate a list of all cycle-with-intermediary client libraries which
|
||||
did not release since the YYYY-MM-DD date of milestone-2.
|
||||
have commits that have not been included in a release.
|
||||
For this, run::
|
||||
|
||||
tox -e venv -- list-deliverables --unreleased-since YYYY-MM-DD
|
||||
--model cycle-with-intermediary --type client-library
|
||||
./tools/list_client_library_unreleased_changes.sh
|
||||
|
||||
Generate release requests for all client libraries which had changes,
|
||||
but did not release since milestone-2. That patch will be used as a base
|
||||
That patch will be used as a base
|
||||
to communicate with the team: if a team wants to wait for a specific patch
|
||||
to make it to the library, someone from the team can -1 the patch to have
|
||||
it held, or update that patch with a different commit SHA.
|
||||
|
37
tools/list_client_library_unreleased_changes.sh
Executable file
37
tools/list_client_library_unreleased_changes.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Convenience wrapper to show the unreleased changes in all
|
||||
# libraries, so we don't have to remember the incantation.
|
||||
|
||||
if [[ $# -gt 1 ]]; then
|
||||
echo "Usage: $(basename $0) <branch>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BRANCH=${1:-master}
|
||||
if [ "$BRANCH" = "master" ]; then
|
||||
SERIES=$(ls -1 deliverables | sort | tail -n 1)
|
||||
else
|
||||
SERIES=$(basename $BRANCH)
|
||||
fi
|
||||
|
||||
TOOLSDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
BASEDIR=$(dirname $TOOLSDIR)
|
||||
source $TOOLSDIR/functions
|
||||
|
||||
# Set up the virtualenv where the list-deliverables command will be
|
||||
# found. This is done outside of the invocation below because
|
||||
# otherwise we get the tox output mixed up in the repo list output and
|
||||
# try to do things like look at the history of "venv" and
|
||||
# "installing".
|
||||
if [[ -z "$VIRTUAL_ENV" ]]; then
|
||||
if [[ ! -d $BASEDIR/.tox/venv ]]; then
|
||||
(cd $BASEDIR && tox -e venv --notest)
|
||||
fi
|
||||
source $BASEDIR/.tox/venv/bin/activate
|
||||
fi
|
||||
|
||||
echo "Finding $SERIES library repositories..."
|
||||
repos=$(list-deliverables --repos --type client-library --series $SERIES)
|
||||
|
||||
$TOOLSDIR/list_unreleased_changes.sh $BRANCH $repos
|
@ -32,7 +32,6 @@ if [[ -z "$VIRTUAL_ENV" ]]; then
|
||||
fi
|
||||
|
||||
echo "Finding $SERIES library repositories..."
|
||||
repos=$(list-deliverables --repos --type library --type client-library \
|
||||
--series $SERIES)
|
||||
repos=$(list-deliverables --repos --type library --series $SERIES)
|
||||
|
||||
$TOOLSDIR/list_unreleased_changes.sh $BRANCH $repos
|
||||
|
Loading…
Reference in New Issue
Block a user