osmith has submitted this change. ( 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(-)
Approvals:
pespin: Looks good to me, but someone else must approve
osmith: Looks good to me, approved
msuraev: Looks good to me, but someone else must approve
Jenkins Builder: Verified
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()
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/29430
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I6f140b2c1d171d3019fd259399e6a46da9c6451f
Gerrit-Change-Number: 29430
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: msuraev <msuraev(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/29433 )
Change subject: obs: lib.run_cmd: set stdin to subprocess.DEVNULL
......................................................................
obs: lib.run_cmd: set stdin to subprocess.DEVNULL
Don't pass stdin to the programs, as we expect them to run
non-interactively and also don't show the program's output unless -v is
used or the exit code is not 0.
Change-Id: I7e893101c2a3e7b005659ec72aa44fa932b7ccd9
---
M scripts/obs/lib/__init__.py
1 file changed, 3 insertions(+), 3 deletions(-)
Approvals:
pespin: Looks good to me, but someone else must approve
osmith: Looks good to me, approved
msuraev: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/scripts/obs/lib/__init__.py b/scripts/obs/lib/__init__.py
index 58fe0e4..1ed5ef5 100644
--- a/scripts/obs/lib/__init__.py
+++ b/scripts/obs/lib/__init__.py
@@ -119,9 +119,9 @@
print(f"+ {caller}(): {cmd}")
with tempfile.TemporaryFile(encoding="utf8", mode="w+") as output_buf:
- p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT, text=True, bufsize=1,
- *args, **kwargs)
+ p = subprocess.Popen(cmd, stdin=subprocess.DEVNULL,
+ stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
+ text=True, bufsize=1, *args, **kwargs)
while True:
out = p.stdout.read(1)
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/29433
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I7e893101c2a3e7b005659ec72aa44fa932b7ccd9
Gerrit-Change-Number: 29433
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: msuraev <msuraev(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged