List cycle's releases with process_auto_release

Without knowing which releases have been made within the given
series either we shoots in dark in choising the kind of release
(bugfix, feature, major, etc...) or we need to check manually
what are the existing versions. That's time consuming.

These changes simply display the current versions available in
the given series.

Change-Id: Idb160198d52d3bc6b0fa00095b143b19a1f130eb
This commit is contained in:
Hervé Beraud 2021-09-17 11:42:35 +02:00
parent bfe220582f
commit 6d7482db5b
3 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,40 @@
# 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.
import argparse
import os
from openstack_releases import deliverable
def main():
parser = argparse.ArgumentParser()
parser.add_argument(
'series',
help='the name of the series, such as "wallaby" or "xena"',
)
parser.add_argument(
'deliverable',
help='the name of the deliverable, such as "nova" or "oslo.config"',
)
args = parser.parse_args()
# If we've been told the 'deliverable' is infact a yaml file *or* the
# deliverable contains a '/' just load that file directly
deliv = deliverable.Deliverable.read_file(
f"{os.getcwd()}/deliverables/{args.series}/{args.deliverable}.yaml")
if not deliv.releases:
print("Not yet released")
for release in deliv.releases:
print(release.version)

View File

@ -45,3 +45,4 @@ console_scripts =
check-schema = openstack_releases.cmds.check_schema:main
find-gerrit-acl-issues = openstack_releases.cmds.find_gerrit_acl_issues:main
get-contacts = openstack_releases.cmds.get_contacts:main
get-versions-on-series = openstack_releases.cmds.get_versions_on_series:main

View File

@ -113,6 +113,7 @@ function process_repo {
fi
cd "openstack/$repo"
prev_tag=$(get_last_tag)
echo "Existing versions for ${series}: ${current_series_tag}"
if [ -z "$prev_tag" ]; then
echo "$repo has not yet been released"
else
@ -162,8 +163,11 @@ $(git log --oneline --no-merges ${prev_tag}..${end_sha})
echo
}
CWD=$(pwd)
# Process each repo passed in to see if a release should be proposed
for repo in $repos; do
cd ${CWD}
current_series_tag=$(get-versions-on-series ${series} ${repo})
cd $MYTMPDIR
echo
process_repo "${repo/openstack\//}"