Last modified: 2014-08-21 13:36:23 UTC
The project-template feature I wrote is bugged. It was supposed to merge defined jobs with the one defined by a template but it is overwriting them: Example: - name: mediawiki/tools/release check-voter: - mw-tools-release-phplint template: - name: 'python-lint' prefix: 'mw-tools-release' That will only generate the jobs from the template and discard the phplint job. The root cause is in Zuul scheduler: # Finally merge the expansion with whatever has been already # defined for this project config_project.update(expanded) dict.update() does not do a recursive merge. We need a new function that will recursively merge all values being dicts.
Related URL: https://gerrit.wikimedia.org/r/70199 (Gerrit Change Ib4371a26c7ea86711beb70800356a899805fd7ed)
Low priority, there is a workaround. Will revisit Zuul bugs once we upgraded production to the latest version of Zuul (that will happen by the end of November).
This is being worked on by upstream at https://review.openstack.org/#/c/62498
The upstream change has been merged in and our Zuul version now includes it. We already have a few project using that feature (template + jobs being added).