Exemplo n.º 1
0
 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
Exemplo n.º 2
0
 def get_detached_task(cls, task_id, results_dir):
     session = KojiHelper.create_session()
     rpms, logs = KojiHelper.download_task_results(session, [task_id],
                                                   results_dir)
     task = session.getTaskInfo(task_id)
     exit_code = cls._verify_tasks(session, {task_id: task['state']})
     if exit_code:
         raise BinaryPackageBuildError(exit_code=exit_code)
     if not rpms:
         raise RebaseHelperError(
             'Koji tasks are not finished yet. Try again later.')
     return rpms, logs
Exemplo n.º 3
0
 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