From 5a161771160af96c4bf76d00e561aaf30fb7c8c5 Mon Sep 17 00:00:00 2001 From: Tony Breeds Date: Wed, 20 Sep 2017 14:14:37 -0400 Subject: [PATCH] Add a tool to generate the upper-constraints.txt file for publishing Change-Id: I25a381e55362df0e7b31f18ff45c95ce3a28dc6a --- tools/README.txt | 5 ++++ tools/publish_constraints.sh | 51 ++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 tools/publish_constraints.sh diff --git a/tools/README.txt b/tools/README.txt index c9c95410ab..0e21cb5de0 100644 --- a/tools/README.txt +++ b/tools/README.txt @@ -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. diff --git a/tools/publish_constraints.sh b/tools/publish_constraints.sh new file mode 100644 index 0000000000..ba3c984b55 --- /dev/null +++ b/tools/publish_constraints.sh @@ -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