From ef03e7fa36e0de5f89abf3bdea10fdd8eea151d6 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Thu, 1 Jul 2021 22:45:22 +0000 Subject: [PATCH] Drop use of track-upstream When upgrading from Gerrit 2.13 to 3.2 we stopped relying on a local fork of its source and have been building from (more recently completely unmolested) upstream source. This fork was the only place we were relying on jeepyb's track-upstream feature, so we can stop looking for it in our checks and normalization as well. Remove the check_gerrit_projects_changed scripts as well, as they only existed to run things where track-upstream was enabled. Change-Id: I597c1a577c53e2db61413d9ec531378667691d2a --- gerrit/projects.yaml | 4 -- tools/check_gerrit_projects_changed.py | 94 -------------------------- tools/check_gerrit_projects_changed.sh | 20 ------ tools/check_valid_gerrit_projects.py | 8 +-- tools/normalize_projects_yaml.py | 3 +- tox.ini | 1 - 6 files changed, 4 insertions(+), 126 deletions(-) delete mode 100644 tools/check_gerrit_projects_changed.py delete mode 100755 tools/check_gerrit_projects_changed.sh diff --git a/gerrit/projects.yaml b/gerrit/projects.yaml index c5cad26831..4758206480 100644 --- a/gerrit/projects.yaml +++ b/gerrit/projects.yaml @@ -238,10 +238,6 @@ groups: - openstack-ci description: Gerrit as used by OpenStack - upstream: https://gerrit.googlesource.com/gerrit - upstream-prefix: upstream - options: - - track-upstream - project: opendev/gerritbot use-storyboard: true groups: diff --git a/tools/check_gerrit_projects_changed.py b/tools/check_gerrit_projects_changed.py deleted file mode 100644 index b751829ae3..0000000000 --- a/tools/check_gerrit_projects_changed.py +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env python3 -# -# Check that gerrit/projects.yaml changes are valid. -# -# 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 contextlib -import git -import shutil -import sys -import tempfile -import yaml - - -@contextlib.contextmanager -def tempdir(): - try: - reqroot = tempfile.mkdtemp() - yield reqroot - finally: - shutil.rmtree(reqroot, ignore_errors=True) - - -def check_repo(repo_path): - found_errors = 0 - - print("Checking git repo '%s':" % repo_path) - try: - with tempdir() as repopath: - git.Repo.clone_from(repo_path, repopath) - print("Can be cloned") - except Exception as e: - print("Failure: %s" % e) - found_errors += 1 - return found_errors - - -def main(): - found_errors = 0 - - parser = argparse.ArgumentParser() - parser.add_argument('-v', '--verbose', - dest='verbose', - default=False, - action='store_true') - parser.add_argument( - 'oldfile', - help='Path to old gerrit/projects.yaml', - ) - parser.add_argument( - 'newfile', - help='Path to new gerrit/projects.yaml', - ) - args = parser.parse_args() - - projects_old = yaml.safe_load(open(args.oldfile, 'r')) - projects_new = yaml.safe_load(open(args.newfile, 'r')) - - ps_old = {} - for p in projects_old: - name = p.get('project') - ps_old[name] = p - - for p in projects_new: - name = p.get('project') - upstream = p.get('upstream') - if name in ps_old: - p_old = ps_old[name] - upstream_old = p_old.get('upstream') - else: - upstream_old = "" - if (upstream != upstream_old - and 'track-upstream' in p.get('options', [])): - print("%s has changed" % name) - found_errors += check_repo(upstream) - - if found_errors: - print("Found %d error(s)" % found_errors) - sys.exit(1) - - -if __name__ == '__main__': - main() diff --git a/tools/check_gerrit_projects_changed.sh b/tools/check_gerrit_projects_changed.sh deleted file mode 100755 index a65c05f1bd..0000000000 --- a/tools/check_gerrit_projects_changed.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -xe - - -GITHEAD=$(git rev-parse HEAD) -GITBRANCH=$(git rev-parse --abbrev-ref HEAD) - -# Check out previous version -git checkout HEAD~1 - -cp gerrit/projects.yaml gerrit/projects-old.yaml - -# Back to current version. Otherwise the -# check_gerrit_projects_changed.py invocation might be an old version. -git checkout $GITHEAD - -python3 tools/check_gerrit_projects_changed.py gerrit/projects-old.yaml \ - gerrit/projects.yaml - -rm gerrit/projects-old.yaml -git checkout $GITBRANCH diff --git a/tools/check_valid_gerrit_projects.py b/tools/check_valid_gerrit_projects.py index 8bebffb0f2..933fac45c8 100755 --- a/tools/check_valid_gerrit_projects.py +++ b/tools/check_valid_gerrit_projects.py @@ -158,12 +158,11 @@ def main(): VALID_LABELS = ["acl-config", "description", "docimpact-group", "groups", "homepage", "options", "project", - "upstream", "upstream-prefix", "use-storyboard", - "cgit-alias"] + "upstream", "use-storyboard", "cgit-alias"] VALID_SCHEMES = ['https://', 'http://', 'git://'] DESCRIPTION_REQUIRED = ['openstack', 'openstack-infra', 'openstack-dev', 'stackforge'] - VALID_OPTIONS = ['delay-release', 'track-upstream', 'translate'] + VALID_OPTIONS = ['delay-release', 'translate'] CGIT_ALIAS_SITES = ['zuul-ci.org'] for p in projects: @@ -213,7 +212,7 @@ def main(): # Allow git:// and https:// URLs for importing upstream repositories, # but not git@ upstream = p.get('upstream') - if upstream and 'track-upstream' not in p.get('options', []): + if upstream: openstack_repo = 'https://opendev.org/%s' % name try: # Check to see if we have already imported the project into @@ -223,7 +222,6 @@ def main(): # We haven't imported the repo yet, make sure upstream is # valid. found_errors += check_repo(upstream) - if upstream: for prefix in VALID_SCHEMES: if upstream.startswith(prefix): break diff --git a/tools/normalize_projects_yaml.py b/tools/normalize_projects_yaml.py index 951363aa8f..0bfa47c6a2 100755 --- a/tools/normalize_projects_yaml.py +++ b/tools/normalize_projects_yaml.py @@ -23,8 +23,7 @@ def main(): data = yaml.load(open('gerrit/projects.yaml')) for project in data: - if ('upstream' in project - and 'track-upstream' not in project.get('options', [])): + if 'upstream' in project: del project['upstream'] with open('gerrit/projects.yaml', 'w') as out: diff --git a/tox.ini b/tox.ini index 8fe1080bae..cb579af14f 100644 --- a/tox.ini +++ b/tox.ini @@ -60,7 +60,6 @@ commands = {toxinidir}/tools/check_valid_gerrit_projects.py gerrit/projects.yaml gerrit/acls zuul/main.yaml {toxinidir}/tools/check_projects_yaml_alphabetized.sh gerrit/projects.yaml {toxinidir}/tools/check_valid_gerrit_config.sh - {toxinidir}/tools/check_gerrit_projects_changed.sh [testenv:venv] commands = {posargs}