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

feat: implement #184: add support for the 'default:' node

parent b05c2115
Loading
Loading
Loading
Loading
+35 −1
Changes for gitlabci_local/parsers/gitlab.py: 35 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -110,7 +110,41 @@ class GitLab:

        # Parse variables node
        if 'variables' in data:
            GitLab.__global_variables(data['variables'], global_values)
            GitLab.__globals_variables(data['variables'], global_values)

        # Parse default node
        if 'default' in data:

            # Parse default image node
            if 'image' in data['default']:
                if 'image' in data:
                    raise SyntaxError(
                        'image is defined in top-level and `default:` entry')
                GitLab.__globals_image(data['default']['image'], global_values)

            # Parse default before_script node
            if 'before_script' in data['default']:
                if 'before_script' in data:
                    raise SyntaxError(
                        'before_script is defined in top-level and `default:` entry')
                global_values['before_script'] = GitLab.__scripts(
                    data['default']['before_script'])

            # Parse default after_script node
            if 'after_script' in data['default']:
                if 'after_script' in data:
                    raise SyntaxError(
                        'after_script is defined in top-level and `default:` entry')
                global_values['after_script'] = GitLab.__scripts(
                    data['default']['after_script'])

            # Parse default services node
            if 'services' in data['default'] and isinstance(data['default']['services'],
                                                            list):
                if 'services' in data:
                    raise SyntaxError(
                        'services is defined in top-level and `default:` entry')
                GitLab.__globals_services(data['default']['services'], global_values)

    # Globals image
    @staticmethod
+13 −0
Changes for tests/default/.gitlab-ci.conflict.after.yml: 13 added lines, 0 removed lines.
Original line number Diff line number Diff line
include:
  - local: '/default.yml'

stages:
  - default

after_script:
  - echo '__AFTER__'

'Job 1':
  stage: default
  script:
    - echo 'Job 1'
+13 −0
Changes for tests/default/.gitlab-ci.conflict.before.yml: 13 added lines, 0 removed lines.
Original line number Diff line number Diff line
include:
  - local: '/default.yml'

stages:
  - default

before_script:
  - echo '__BEFORE__'

'Job 1':
  stage: default
  script:
    - echo 'Job 1'
+12 −0
Changes for tests/default/.gitlab-ci.conflict.image.yml: 12 added lines, 0 removed lines.
Original line number Diff line number Diff line
include:
  - local: '/default.yml'

stages:
  - default

image: local

'Job 1':
  stage: default
  script:
    - echo 'Job 1'
+13 −0
Changes for tests/default/.gitlab-ci.conflict.services.yml: 13 added lines, 0 removed lines.
Original line number Diff line number Diff line
include:
  - local: '/default.yml'

services:
  - docker:dind

stages:
  - default

'Job 1':
  stage: default
  script:
    - echo 'Job 1'
Loading