Commit bc979ea9 authored by Adrian DC's avatar Adrian DC
Browse files

fix: resolve #91: fix parser support for empty variables

parent 692433a7
Loading
Loading
Loading
Loading
+8 −1
Changes for gitlabci_local/parser.py: 8 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -320,6 +320,9 @@ def parser(options, data, environment):
        if node == 'variables':
            for variable in data['variables']:
                if variable not in global_values['variables']:
                    if data['variables'][variable] is None:
                        global_values['variables'][variable] = ''
                    else:
                        global_values['variables'][variable] = str(
                            data['variables'][variable])
            continue
@@ -490,7 +493,11 @@ def stager(options, job_name, data, global_values):

    # Extract job variables
    if 'variables' in job_data and job_data['variables']:
        job['variables'].update(job_data['variables'])
        for variable in job_data['variables']:
            if job_data['variables'][variable] is None:
                job['variables'][variable] = ''
            else:
                job['variables'][variable] = str(job_data['variables'][variable])

    # Extract job before_script
    if 'before_script' in job_data:
+6 −0
Changes for tests/variables/.gitlab-ci.yml: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -45,8 +45,14 @@ stages:
  image: ${IMAGE_REFERENCE_4}
  variables:
    IMAGE_REFERENCE_4: alpine:unknown
    VALUE_3:
    VALUE_4: New value 4
  script:
    - echo 'Job 4'
    - echo "VALUE_1 = ${VALUE_1}"
    - echo "VALUE_2 = ${VALUE_2}"
    - echo "VALUE_3 = ${VALUE_3}"
    - echo "VALUE_4 = ${VALUE_4}"

'Job 5':
  stage: variables