osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/29430 )
Change subject: obs: update_obs_project: check if oscrc exists ......................................................................
obs: update_obs_project: check if oscrc exists
Check if the oscrc exists, as otherwise the osc command will interactively prompt for the credentials. If running without verbose mode (the default), the command output is hidden and so it would just appear to be hanging without this patch if the config doesn't exist.
Change-Id: I6f140b2c1d171d3019fd259399e6a46da9c6451f --- M scripts/obs/README M scripts/obs/lib/osc.py M scripts/obs/update_obs_project.py 3 files changed, 14 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/30/29430/1
diff --git a/scripts/obs/README b/scripts/obs/README index 67d2a2b..cd0955d 100644 --- a/scripts/obs/README +++ b/scripts/obs/README @@ -29,7 +29,7 @@ libosmo-pfcp osmo-hnbgw
-FYI, the config file will look like this: +FYI, the config file (oscrc) will look like this:
[general] apiurl = https://obs.osmocom.org diff --git a/scripts/obs/lib/osc.py b/scripts/obs/lib/osc.py index 2fcdbc6..51e2f5f 100644 --- a/scripts/obs/lib/osc.py +++ b/scripts/obs/lib/osc.py @@ -20,6 +20,18 @@ exit(1)
+def check_oscrc(): + configdir = os.environ.get("XDG_CONFIG_HOME", "~/.config") + paths = ["~/.oscrc", f"{configdir}/osc/oscrc"] + for path in paths: + if os.path.exists(os.path.expanduser(path)): + return + + print("ERROR: oscrc does not exist, please create one as explained in the" + " README.") + exit(1) + + def set_apiurl(url): global apiurl apiurl = url diff --git a/scripts/obs/update_obs_project.py b/scripts/obs/update_obs_project.py index 02db7ce..61691f6 100755 --- a/scripts/obs/update_obs_project.py +++ b/scripts/obs/update_obs_project.py @@ -200,6 +200,7 @@ lib.docker.run_in_docker_and_exit(__file__, args, True)
lib.osc.check_proj(proj) + lib.osc.check_oscrc() lib.osc.set_apiurl(args.apiurl) lib.check_required_programs() lib.remove_temp()