From 2c3a1b1176c7c618a870e6103b1a6c1c4ff9cbd7 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Mon, 8 Jul 2019 17:08:45 +0300 Subject: Add: debug logging --- api.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'api.py') diff --git a/api.py b/api.py index bb6f598..2444c75 100755 --- a/api.py +++ b/api.py @@ -240,8 +240,9 @@ class VCSWorker(API): return (self._clone(url, ref, dirname) and self._remove(T, D, P, name) and self._create_repo(T, D, name) and - (time.sleep(5) or True) and + self._list_vars(T, D, P, name) and self._set_var(T, D, P, name, key, value) and + self._list_vars(T, D, P, name) and self._push(dirname, D, P, ref, name)) if update(): @@ -291,6 +292,32 @@ class VCSWorker(API): ] return runcmd('.', argv, self.MAX_CREATE_REPO_TIME) + def _list_vars(self, token, gitlab_domain, gitlab_project, name): + logging.info('Getting variables for %s/%s', gitlab_project, name) + name = urllib.parse.quote('%s/%s' % (gitlab_project, name), safe='') + url = 'https://%s/api/v4/projects/%s/variables' % (gitlab_domain, name) + argv = ['curl', url, '-sv', '-HPRIVATE-TOKEN: %s' % token] + output = runcmd('.', argv, self.MAX_CREATE_REPO_TIME) + logging.info('Variables: %r', output) + print('Variables', output) + return True + + def _set_var(self, token, gitlab_domain, gitlab_project, name, key, value): + logging.info( + 'Setting variable for %s/%s: %s=%s', + gitlab_project, name, key, value) + name = urllib.parse.quote('%s/%s' % (gitlab_project, name), safe='') + url = 'https://%s/api/v4/projects/%s/variables' % (gitlab_domain, name) + argv = [ + 'curl', + url, + '-sv', '-X' 'POST', + '-d', 'key=%s' % key, + '-d', 'value=%s' % value, + '-HPRIVATE-TOKEN: %s' % token, + ] + return runcmd('.', argv, self.MAX_CREATE_REPO_TIME) + def _push(self, dirname, gitlab_domain, gitlab_project, ref, name): logging.info('Pushing %s to %s as %s', dirname, gitlab_domain, name) url = 'ssh://git@%s/%s/%s.git' % (gitlab_domain, gitlab_project, name) @@ -311,6 +338,7 @@ def runcmd(cwd, argv, timeout): logging.error('Error while running command: %s', str(e)) return False + logging.debug('stdout: %r', p.stdout) if p.returncode != 0: logging.error('Command failed: %r', argv) logging.error('exit code: %d', p.returncode) -- cgit v1.2.1