Changeset View
Changeset View
Standalone View
Standalone View
lilybuild/lilybuild/helpers.py
| Show All 36 Lines | def phorge_token_to_arcrc(normalized_base_url, token): | ||||
| return json.dumps({ | return json.dumps({ | ||||
| 'hosts': { | 'hosts': { | ||||
| normalized_base_url + '/api/': { | normalized_base_url + '/api/': { | ||||
| 'token': token, | 'token': token, | ||||
| }, | }, | ||||
| }, | }, | ||||
| }) | }) | ||||
| def ci_vars_to_cmds(v): | def ci_vars_to_env_file(v): | ||||
| res = [] | res = [] | ||||
| for name in v: | for name in v: | ||||
| value = shlex.quote('{}'.format(v[name])) | value = v[name] | ||||
| res.append(f'export {name}={value}') | if not isinstance(value, str): | ||||
| value = str(value) | |||||
| if '\n' not in value: | |||||
| res.append(f'{name}={value}') | |||||
| # Otherwise, ignore multiline variables because podman cannot pass it in env file | |||||
| return '\n'.join(res) | return '\n'.join(res) | ||||
| DEFAULT_SCRIPT_HEADER = '''\ | DEFAULT_SCRIPT_HEADER = '''\ | ||||
| #!/bin/sh | #!/bin/sh | ||||
| set -e -x | set -e -x | ||||
| cd /build | cd /build | ||||
| ''' | ''' | ||||
| def get_job_script(variables, job): | def get_job_script(job): | ||||
| var_cmds = ci_vars_to_cmds(variables) | |||||
| return ( | return ( | ||||
| DEFAULT_SCRIPT_HEADER + | DEFAULT_SCRIPT_HEADER + | ||||
| '\n' + var_cmds + '\n\n' + | |||||
| '\n\n'.join(job.before_script) + '\n\n' + | '\n\n'.join(job.before_script) + '\n\n' + | ||||
| '\n\n'.join(job.script) + | '\n\n'.join(job.script) + | ||||
| '\n\nset +e\n\n' + | '\n\nset +e\n\n' + | ||||
| '\n\n'.join(job.after_script) + | '\n\n'.join(job.after_script) + | ||||
| '\n\nexit 0' | '\n\nexit 0' | ||||
| ) | ) | ||||
| def normalize_image(image): | def normalize_image(image): | ||||
| Show All 31 Lines | |||||