Skip to content

Commit 69b5c7d

Browse files
committed
Add automatic parsing of configuration by regexp
1 parent 37c47a1 commit 69b5c7d

File tree

3 files changed

+13
-31
lines changed

3 files changed

+13
-31
lines changed

bin/console

+5
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ if __name__ == '__main__':
8181
if 'pathRegex' in configuration['docker']:
8282
configuration['docker']['autoPullBlacklist'] = re.compile(configuration['docker']['autoPullBlacklist'])
8383

84+
if 'dockerTest' in configuration:
85+
if 'configuration' in configuration['dockerTest']:
86+
if 'imageConfigurationRegex' in configuration['dockerTest']['configuration']:
87+
configuration['dockerTest']['configuration']['imageConfigurationRegex'] = re.compile(configuration['dockerTest']['configuration']['imageConfigurationRegex'])
88+
8489
configuration = Configuration.merge(configuration)
8590
configuration = Configuration.dotdictify(configuration)
8691

bin/webdevops/taskloader/DockerTestServerspecTaskLoader.py

+7
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,13 @@ def generate_serverspec_configuration(path, dockerfile, configuration, is_toolim
158158
if default_env_list:
159159
ret = default_env_list.to_dict().copy()
160160

161+
# parse configuration by regexp
162+
image_configuration_regex = configuration.get('dockerTest.configuration.imageConfigurationRegex', False)
163+
if image_configuration_regex:
164+
parsed_configuration = ([m.groupdict() for m in image_configuration_regex.finditer(dockerfile['image']['fullname'])])
165+
if parsed_configuration:
166+
ret.update(parsed_configuration[0])
167+
161168
# add docker image specific vars
162169
image_env_list = configuration.get('dockerTest.configuration.image')
163170
if image_env_list:

conf/console.yml

+1-31
Original file line numberDiff line numberDiff line change
@@ -37,53 +37,23 @@ dockerTest:
3737
- 'ENV VARNISH_BACKEND_HOST webdevops.io'
3838

3939
configuration:
40+
imageConfigurationRegex: ':(?P<OS_FAMILY>alpine|debian|ubuntu|centos)-(?P<OS_VERSION>[^-]+)'
4041
default:
4142
OS_FAMILY: 'ubuntu'
4243
OS_VERSION: '16.04'
4344
image:
4445
':alpine':
45-
OS_FAMILY: 'alpine'
46-
OS_VERSION: '3'
4746
PHP_MHASH: '0'
4847
PHP_REDIS: '0'
4948
':ubuntu-12.04':
50-
OS_FAMILY: 'ubuntu'
51-
OS_VERSION: '12.04'
5249
PHP_REDIS: '0'
5350
PHP_APCU: '0'
54-
':ubuntu-14.04':
55-
OS_FAMILY: 'ubuntu'
56-
OS_VERSION: '14.04'
57-
':ubuntu-15.04':
58-
OS_FAMILY: 'ubuntu'
59-
OS_VERSION: '15.04'
60-
':ubuntu-15.10':
61-
OS_FAMILY: 'ubuntu'
62-
OS_VERSION: '15.10'
63-
':ubuntu-16.04':
64-
OS_FAMILY: 'ubuntu'
65-
OS_VERSION: '16.04'
6651
':debian-7':
67-
OS_FAMILY: 'debian'
68-
OS_VERSION: '7'
6952
PHP_REDIS: '0'
7053
PHP_APCU: '0'
71-
':debian-8':
72-
OS_FAMILY: 'debian'
73-
OS_VERSION: '8'
7454
':debian-8-php7':
75-
OS_FAMILY: 'debian'
76-
OS_VERSION: '8'
7755
PHP_XDEBUG: '0'
78-
':debian-9':
79-
OS_FAMILY: 'debian'
80-
OS_VERSION: '9'
81-
':centos-7':
82-
OS_FAMILY: 'redhat'
83-
OS_VERSION: '7'
8456
':centos-7-php56':
85-
OS_FAMILY: 'redhat'
86-
OS_VERSION: '7'
8757
PHP_APCU: '0'
8858
PHP_REDIS: '0'
8959
'/ssh':

0 commit comments

Comments
 (0)