diff --git a/openstack_releases/cmds/get_versions_on_series.py b/openstack_releases/cmds/get_versions_on_series.py new file mode 100644 index 0000000000..332ae5f7c0 --- /dev/null +++ b/openstack_releases/cmds/get_versions_on_series.py @@ -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) diff --git a/setup.cfg b/setup.cfg index 1602c8b3e6..65b53cb8f3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -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 diff --git a/tools/process_auto_releases.sh b/tools/process_auto_releases.sh index 54437d21a0..7a93efc287 100755 --- a/tools/process_auto_releases.sh +++ b/tools/process_auto_releases.sh @@ -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\//}"