Opened 10 months ago

Last modified 7 months ago

#6874 new defect

Cannot configure SSH URL for building from repos

Reported by: greiner Assignee:
Priority: Unknown Milestone:
Module: Automation Keywords:
Cc: tlucas, wspee, erikvold Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: no Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

Description

Environment

Ubuntu 18.04

How to reproduce

  1. Change one of the paths in the _root configuration variable in a "dependencies" file to use SSH instead of HTTPS
  2. Attempt to resolve dependencies

Observed behaviour

Build fails and error is shown (see below).

Example error uses "REPO" as placeholder for the dependency name and "OUTPUT" for the working directory.

fatal: repository 'REPO.git' does not exist
Traceback (most recent call last):
  File "OUTPUT/ensure_dependencies.py", line 450, in <module>
    resolve_deps(repo)
  File "OUTPUT/ensure_dependencies.py", line 389, in resolve_deps
    _root.get(vcs, ''), source)
  File "OUTPUT/ensure_dependencies.py", line 329, in ensure_repo
    repo_types[type].clone(url, target)
  File "OUTPUT/ensure_dependencies.py", line 105, in clone
    subprocess.check_call(['git', 'clone', '--quiet', source, target])
  File "/usr/lib/python2.7/subprocess.py", line 190, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['git', 'clone', '--quiet', u'REPO.git', u'OUTPUT/REPO']' returned non-zero exit status 128

Expected behaviour

Build succeeds and no error is shown.

Further information

Upon further investigation I found that calling

urlparse.urljoin("ssh://git@gitlab.com/eyeo/adblockplus/", "foo")

will return "foo"
whereas

urlparse.urljoin("https://git@gitlab.com/eyeo/adblockplus/", "foo")

will return "https://git@gitlab.com/eyeo/adblockplus/foo".

Change History (1)

comment:1 Changed 7 months ago by erikvold

  • Cc erikvold added

I think we are aiming to remove this dependency right? so perhaps we can close this, since we probably shouldn't work on it.

Note: See TracTickets for help on using tickets.