Last modified: 2013-06-03 20:17:21 UTC
To make the mwext-Parsoid-jslint voting, I had to remove the beginning/end regex markers: - - name: ^mwext-Parsoid-jslint$ + - name: mwext-Parsoid-jslint voting: true https://gerrit.wikimedia.org/r/#/c/61478/ Seems a bit strange to me. There must be some whitespace issue somewhere.
From looking at the xuul source code, the best diagnosis I can come up with is: layout.yaml is parsed around line 129 of zuul/scheduler.py, starting with "job = self.getJob(config_job['name'])" The getJob() function reads: def getJob(self, name): if name in self.jobs: return self.jobs[name] job = Job(name) if name.startswith('^'): # This is a meta-job regex = re.compile(name) self.metajobs[regex] = job else: # Apply attributes from matching meta-jobs for regex, metajob in self.metajobs.items(): if regex.match(name): job.copy(metajob) self.jobs[name] = job return job So if the name starts with a ^ its a metajob. Metajob properties are copied to named jobs, but *only when the job is first encountered/created*. My best guess is that using ^mwext-Parsoid-jslint$ creates a metajob, but the mwext-Parsoid-jslint job has already been created at that point, so the metajob properties are never applied to the job.