Support variable interpolation at pipeline generation time

This commit is contained in:
Scott Wittenburg 2020-06-17 16:11:48 -06:00
parent ace52bd476
commit 2386f7582a

View File

@ -7,6 +7,7 @@
import datetime import datetime
import json import json
import os import os
import re
import shutil import shutil
import tempfile import tempfile
import zlib import zlib
@ -40,6 +41,8 @@
spack_gpg = SpackCommand('gpg') spack_gpg = SpackCommand('gpg')
spack_compiler = SpackCommand('compiler') spack_compiler = SpackCommand('compiler')
runner_var_regex = re.compile('\\$env:(.+)$')
class TemporaryDirectory(object): class TemporaryDirectory(object):
def __init__(self): def __init__(self):
@ -575,6 +578,13 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
variables = {} variables = {}
if 'variables' in runner_attribs: if 'variables' in runner_attribs:
variables.update(runner_attribs['variables']) variables.update(runner_attribs['variables'])
for name, value in variables.items():
m = runner_var_regex.search(value)
if m:
env_var = m.group(1)
interp_value = os.environ.get(env_var, None)
if interp_value:
variables[name] = interp_value
image_name = None image_name = None
image_entry = None image_entry = None