Add a tool to generate the upper-constraints.txt file for publishing

Change-Id: I25a381e55362df0e7b31f18ff45c95ce3a28dc6a
This commit is contained in:
Tony Breeds 2017-09-20 14:14:37 -04:00
parent 384503cac5
commit 5a16177116
2 changed files with 56 additions and 0 deletions

View File

@ -51,6 +51,11 @@ integration.sh
Used in the gate! Install all the "$PROJECTS" to verify that g-r and the each project are compatible
publish_constraints.sh
----------------------
Used in the gate! Generate the constraints files from git for publishing to a
static server.
what-broke.py
-------------
figure out what requirements change likely broke us.

View File

@ -0,0 +1,51 @@
#!/usr/bin/env bash
# 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.
function get_from_git()
{
ref=$1
series=$2
path=${3:-publish/constraints/upper}
git show ${ref}:upper-constraints.txt > ${path}/${series}.txt
}
# Make the directory tree, don't fail if it already exists
mkdir -p publish/constraints/upper
# Clear out any stale files, don't fail if we just created it
rm publish/constraints/upper/* || true
case "$ZUUL_BRANCH" in
stable/*)
series=$(basename "$ZUUL_BRANCH")
get_from_git origin/$ZUUL_BRANCH $series
;;
master)
# NOTE(tonyb): Publish EOL'd constraints files. We do this here as a
# quick way to publish the data. It can be removed anytime after the first
# successful run
for tag in juno-eol kilo-eol liberty-eol mitaka-eol ; do
# trim the '-eol'
series=${tag::-4}
get_from_git $tag $series
done
for series in queens rocky ; do
if ! git rev-parse origin/stable/$series ; then
get_from_git origin/master $series
fi
done
get_from_git origin/master master
;;
esac