diff options
-rw-r--r-- | containers/cirrus-run/Dockerfile | 2 | ||||
-rwxr-xr-x | containers/cirrus-run/cirrus-vars.py | 19 |
2 files changed, 21 insertions, 0 deletions
diff --git a/containers/cirrus-run/Dockerfile b/containers/cirrus-run/Dockerfile index 165f4a8..c59809c 100644 --- a/containers/cirrus-run/Dockerfile +++ b/containers/cirrus-run/Dockerfile @@ -1,3 +1,5 @@ FROM docker.io/library/python:3.9-alpine +COPY cirrus-vars.py /usr/bin/cirrus-vars + RUN pip3 install cirrus-run==1.0.1 diff --git a/containers/cirrus-run/cirrus-vars.py b/containers/cirrus-run/cirrus-vars.py new file mode 100755 index 0000000..3d863e7 --- /dev/null +++ b/containers/cirrus-run/cirrus-vars.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 + +import os +import re +import sys + +var = re.compile(r'@([a-zA-Z0-9_]+)@') + + +# Return empty string if var is not set, since not all +# OS targets require all vars to be set. +def get_env(matchobj): + return os.environ.get(matchobj.group(1), '') + + +for line in sys.stdin: + print(var.sub(get_env, line), end='') + +sys.exit(0) |