"""
Called to launch all given jobs
"""
+ repos = {}
+
# Group jobs by their build repository
- repos = misc.group(jobs, lambda job: job.build.build_repo)
+ for job in jobs:
+ try:
+ repos[job.build.build_repo].append(job)
+ except KeyError:
+ repos[job.build.build_repo] = [job]
- # Run the dependency check for each repository concurrently
- for repo in repos:
- await repo.installcheck(repos[repo])
+ # Run the dependency check for all jobs
+ for repo, jobs in repos.items():
+ await repo.installcheck(jobs)
# Request dispatch
await self.backend.jobs.queue.dispatch()