➜ swh-jenkins-jobs git:(arcpatch-D4315) tox test installed: certifi==2020.6.20,chardet==3.0.4,fasteners==0.15,idna==2.10,importlib-metadata==2.0.0,jenkins-job-builder @ git+https://framagit.org/douardda/jenkins-job-builder@c89bf11ef3dffacf8f9e97b01bcc59e3fcf6f655,Jinja2==2.11.2,MarkupSafe==1.1.1,monotonic==1.5,multi-key-dict==2.0.3,pbr==5.5.1,python-jenkins==1.7.0,PyYAML==5.3.1,requests==2.24.0,six==1.15.0,stevedore==3.2.2,urllib3==1.25.11,zipp==3.3.1 test run-test-pre: PYTHONHASHSEED='1338891736' test runtests: commands[0] | jenkins-jobs test -r jobs WARNING:jenkins_jobs.config:Config file, /etc/jenkins_jobs/jenkins_jobs.ini, not found. Using default config values. INFO:jenkins_jobs.config:Will use anonymous access to Jenkins if needed. WARNING:jenkins_jobs.cli.subcommand.test:(Deprecated) The default output behavior of `jenkins-jobs test` when given the --output flag will change in JJB 3.0. Instead of writing jobs to OUTPUT/jobname; they will be written to OUTPUT/jobname/config.xml. The new behavior can be enabled by the passing `--config-xml` parameter. INFO:jenkins_jobs.cli.subcommand.update:Updating jobs in ['/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/jobs', '/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/jobs/debian', '/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/jobs/templates', '/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/jobs/tools', '/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/jobs/templates/debian', '/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/jobs/templates/includes'] ([]) ERROR:root:Problem formatting with args: allow_empty:False obj: paramdict: {'name': 'DCORE', 'display-name': 'swh-core', 'repo_name': 'swh-core', 'pkg': 'core', 'template-name': 'debian/packages/{name}/update-for-release', '': '', 'project-type': 'pipeline', 'parameters': [OrderedDict([('git-parameter', OrderedDict([('name', 'GIT_TAG'), ('type', 'PT_TAG'), ('description', 'git tag to process'), ('sortMode', 'DESCENDING_SMART'), ('selectedValue', 'TOP')]))]), OrderedDict([('bool', OrderedDict([('name', 'DRY_RUN'), ('description', "Don't push the resulting changes to a Debian branch"), ('default', False)]))])], 'dsl': } ERROR:root:Problem formatting with args: allow_empty:False obj: {'name': 'debian/packages/{name}/update-for-release', 'project-type': 'pipeline', 'parameters': [OrderedDict([('git-parameter', OrderedDict([('name', 'GIT_TAG'), ('type', 'PT_TAG'), ('description', 'git tag to process'), ('sortMode', 'DESCENDING_SMART'), ('selectedValue', 'TOP')]))]), OrderedDict([('bool', OrderedDict([('name', 'DRY_RUN'), ('description', "Don't push the resulting changes to a Debian branch"), ('default', False)]))])], 'dsl': } paramdict: {'name': 'DCORE', 'display-name': 'swh-core', 'repo_name': 'swh-core', 'pkg': 'core', 'template-name': 'debian/packages/{name}/update-for-release', '': '', 'project-type': 'pipeline', 'parameters': [OrderedDict([('git-parameter', OrderedDict([('name', 'GIT_TAG'), ('type', 'PT_TAG'), ('description', 'git tag to process'), ('sortMode', 'DESCENDING_SMART'), ('selectedValue', 'TOP')]))]), OrderedDict([('bool', OrderedDict([('name', 'DRY_RUN'), ('description', "Don't push the resulting changes to a Debian branch"), ('default', False)]))])], 'dsl': } ERROR:root:Failure formatting template 'debian/packages/{name}/update-for-release', containing '{'name': 'debian/packages/{name}/update-for-release', 'project-type': 'pipeline', 'parameters': [OrderedDict([('git-parameter', OrderedDict([('name', 'GIT_TAG'), ('type', 'PT_TAG'), ('description', 'git tag to process'), ('sortMode', 'DESCENDING_SMART'), ('selectedValue', 'TOP')]))]), OrderedDict([('bool', OrderedDict([('name', 'DRY_RUN'), ('description', "Don't push the resulting changes to a Debian branch"), ('default', False)]))])], 'dsl': }' with params '{'name': 'DCORE', 'display-name': 'swh-core', 'repo_name': 'swh-core', 'pkg': 'core', 'template-name': 'debian/packages/{name}/update-for-release', '': '', 'project-type': 'pipeline', 'parameters': [OrderedDict([('git-parameter', OrderedDict([('name', 'GIT_TAG'), ('type', 'PT_TAG'), ('description', 'git tag to process'), ('sortMode', 'DESCENDING_SMART'), ('selectedValue', 'TOP')]))]), OrderedDict([('bool', OrderedDict([('name', 'DRY_RUN'), ('description', "Don't push the resulting changes to a Debian branch"), ('default', False)]))])], 'dsl': }' Traceback (most recent call last): File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jenkins_jobs/formatter.py", line 112, in vformat result = re.match("^%s$" % self._expr, format_string, re.VERBOSE) File "/usr/lib/python3.7/re.py", line 173, in match return _compile(pattern, flags).match(string) TypeError: expected string or bytes-like object During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/bin/jenkins-jobs", line 8, in sys.exit(main()) File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jenkins_jobs/cli/entry.py", line 173, in main jjb.execute() File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jenkins_jobs/cli/entry.py", line 153, in execute ext.obj.execute(self.options, self.jjb_config) File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jenkins_jobs/cli/subcommand/test.py", line 64, in execute builder, xml_jobs, xml_views = self._generate_xmljobs(options, jjb_config) File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jenkins_jobs/cli/subcommand/update.py", line 117, in _generate_xmljobs job_data_list, view_data_list = parser.expandYaml(registry, options.names) File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jenkins_jobs/parser.py", line 323, in expandYaml self._expandYamlForTemplateJob(d, template, jobs_glob) File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jenkins_jobs/parser.py", line 498, in _expandYamlForTemplateJob self.jjb_config.yamlparser["allow_empty_variables"], File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jenkins_jobs/formatter.py", line 63, in deep_format obj[item], paramdict, allow_empty File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jenkins_jobs/formatter.py", line 38, in deep_format ret = CustomFormatter(allow_empty).format(obj, **paramdict) File "/usr/lib/python3.7/string.py", line 186, in format return self.vformat(format_string, args, kwargs) File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jenkins_jobs/formatter.py", line 114, in vformat return format_string.format(**kwargs) File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jenkins_jobs/local_yaml.py", line 572, in format return self._template.render(kwargs) File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jinja2/environment.py", line 1090, in render self.environment.handle_exception() File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jinja2/environment.py", line 832, in handle_exception reraise(*rewrite_traceback_stack(source=source)) File "/home/vsellier/src/swh/ci-environment/swh-jenkins-jobs/.tox/test/lib/python3.7/site-packages/jinja2/_compat.py", line 28, in reraise raise value.with_traceback(tb) File "