build_manifest.py: search user namespaces instead of global

Previously find_repository_sha would do a global search of
all the projects in the gitlab instance. This ports it to
use the user namespace endpoint.

Additionally seems like the else: block never worked.
This commit is contained in:
Jordan Petridis 2018-10-24 17:34:58 +03:00
parent 0b9a8b5cac
commit ea5459e127
No known key found for this signature in database
GPG key ID: 902CC06D159744F5

View file

@ -122,20 +122,10 @@ def test_get_hostname():
def find_repository_sha(module: str, branchname: str) -> Tuple[str, str]:
# FIXME: This does global search query in the whole gitlab instance.
# It has been working so far by a miracle. It should be limited only to
# the current namespace instead.
for project in request('projects?search=' + module):
if project['name'] != module:
continue
if 'namespace' not in project:
# print("No 'namespace' in: %s - ignoring?" % project, file=sys.stderr)
continue
project = search_user_namespace(os.environ["GITLAB_USER_LOGIN"], module)
if project:
id = project['id']
if project['namespace']['path'] in useful_namespaces:
if project['namespace']['path'] == user_namespace:
# If we have a branch with same name, use it.
branch = get_project_branch(id, branchname)
if branch is not None:
@ -143,7 +133,9 @@ def find_repository_sha(module: str, branchname: str) -> Tuple[str, str]:
print(f"{name}/{branchname}")
return 'user', branch['commit']['id']
# This won't work until gstreamer migrates to gitlab
else:
id = 'FIXME: query the gstreamer group in fd.o'
branch = get_project_branch(id, branchname)
if branch is not None:
print(f"gstreamer/{branchname}")