summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorScott Wittenburg <scott.wittenburg@kitware.com>2020-06-17 16:11:48 -0600
committerScott Wittenburg <scott.wittenburg@kitware.com>2020-09-14 10:37:42 -0600
commit2386f7582a37e633f273a703cf5c868d8b093bd1 (patch)
tree1e0e495df4552ba7ad21d977bd670d3a34ce5793 /lib
parentace52bd47670a364df5746d6a4cd8aa34d1b0661 (diff)
downloadspack-2386f7582a37e633f273a703cf5c868d8b093bd1.tar.gz
spack-2386f7582a37e633f273a703cf5c868d8b093bd1.tar.bz2
spack-2386f7582a37e633f273a703cf5c868d8b093bd1.tar.xz
spack-2386f7582a37e633f273a703cf5c868d8b093bd1.zip
Support variable interpolation at pipeline generation time
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/ci.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/spack/spack/ci.py b/lib/spack/spack/ci.py
index ce411e09db..bf2b18ebc8 100644
--- a/lib/spack/spack/ci.py
+++ b/lib/spack/spack/ci.py
@@ -7,6 +7,7 @@ import base64
import datetime
import json
import os
+import re
import shutil
import tempfile
import zlib
@@ -40,6 +41,8 @@ JOB_RETRY_CONDITIONS = [
spack_gpg = SpackCommand('gpg')
spack_compiler = SpackCommand('compiler')
+runner_var_regex = re.compile('\\$env:(.+)$')
+
class TemporaryDirectory(object):
def __init__(self):
@@ -575,6 +578,13 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
variables = {}
if 'variables' in runner_attribs:
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_entry = None