def wait_for_task(cls, build_dict, task_id, results_dir): session = KojiHelper.create_session() task_dict = KojiHelper.watch_koji_tasks(session, [task_id]) rpms, logs = KojiHelper.download_task_results(session, list(task_dict), results_dir) exit_code = cls._verify_tasks(session, task_dict) if exit_code: raise BinaryPackageBuildError(exit_code=exit_code) return rpms, logs
def _scratch_build(cls, srpm, **kwargs): session = KojiHelper.create_session() remote = KojiHelper.upload_srpm(session, srpm) task_id = session.build(remote, cls.target_tag, dict(scratch=True)) if kwargs['builds_nowait']: return None, None, task_id url = KojiHelper.get_task_url(session, task_id) logger.info('Koji task is here: %s\n', url) session.logout() task_dict = KojiHelper.watch_koji_tasks(session, [task_id]) path = os.path.dirname(srpm).replace('SRPM', 'RPM') rpms, logs = KojiHelper.download_task_results(session, list(task_dict), path) exit_code = cls._verify_tasks(session, task_dict) if exit_code: raise BinaryPackageBuildError(exit_code=exit_code) return rpms, logs, task_id