remove draft opts in import_build and completeBuild

This commit is contained in:
Yu Ming Zhu 2023-12-14 17:14:40 +00:00
parent deaa6a01e8
commit e32c71c100
3 changed files with 10 additions and 20 deletions

View file

@ -1204,8 +1204,7 @@ class BuildTask(BaseTaskHandler):
# scratch builds do not get imported
self.session.host.moveBuildToScratch(self.id, srpm, rpms, logs=logs)
else:
self.session.host.completeBuild(self.id, build_id, srpm, rpms, brmap, logs=logs,
draft=opts.get('draft') or False)
self.session.host.completeBuild(self.id, build_id, srpm, rpms, brmap, logs=logs)
except (SystemExit, ServerExit, KeyboardInterrupt):
# we do not trap these
raise
@ -2356,8 +2355,7 @@ class WrapperRPMTask(BaseBuildTask):
try:
self.session.host.completeBuild(self.id, self.new_build_id,
relsrpm, relrpms, brmap,
{'noarch': rellogs},
draft=opts.get('draft') or False)
{'noarch': rellogs})
except (SystemExit, ServerExit, KeyboardInterrupt):
raise
except Exception:

View file

@ -6273,7 +6273,7 @@ def check_noarch_rpms(basepath, rpms, logs=None):
return result
def import_build(srpm, rpms, brmap=None, task_id=None, build_id=None, logs=None, draft=False):
def import_build(srpm, rpms, brmap=None, task_id=None, build_id=None, logs=None):
"""Import a build into the database (single transaction)
Files must be uploaded and specified with path relative to the workdir
@ -6283,9 +6283,6 @@ def import_build(srpm, rpms, brmap=None, task_id=None, build_id=None, logs=None,
brmap - dictionary mapping [s]rpms to buildroot ids
task_id - associate the build with a task
build_id - build is a finalization of existing entry
draft - If True and
- build_id: None, to create a draft build
Not None, the build_id must be a draft build with a valid release
"""
if brmap is None:
brmap = {}
@ -6293,7 +6290,6 @@ def import_build(srpm, rpms, brmap=None, task_id=None, build_id=None, logs=None,
convert_value(brmap, cast=dict, check_only=True)
convert_value(srpm, cast=str, check_only=True)
convert_value(rpms, cast=list, check_only=True)
draft = bool(draft)
koji.plugin.run_callbacks('preImport', type='build', srpm=srpm, rpms=rpms, brmap=brmap,
task_id=task_id, build_id=build_id, build=None, logs=logs)
uploadpath = koji.pathinfo.work()
@ -6337,7 +6333,7 @@ def import_build(srpm, rpms, brmap=None, task_id=None, build_id=None, logs=None,
build['volume_name'] = vol['name']
if build_id is None:
build['draft'] = draft
# it is always a non-draft build
build_id = new_build(build)
binfo = get_build(build_id, strict=True)
new_typed_build(binfo, 'rpm')
@ -6350,13 +6346,8 @@ def import_build(srpm, rpms, brmap=None, task_id=None, build_id=None, logs=None,
koji.plugin.run_callbacks('preBuildStateChange', attribute='state', old=st_old,
new=st_complete, info=binfo)
if binfo.get('draft') != draft:
raise koji.GenericError(
f"draft propetry of build: {binfo['nvr']} is not correct. Expected: {draft},"
f" got {binfo['draft']}"
)
if draft:
build['release'] = koji.DRAFT_RELEASE_FORMAT.format(**build)
if binfo.get('draft'):
build['release'] = koji.gen_draft_release(build['release'], build['id'])
for key in ('name', 'version', 'release', 'epoch', 'task_id'):
if build[key] != binfo[key]:
raise koji.GenericError(
@ -6378,7 +6369,7 @@ def import_build(srpm, rpms, brmap=None, task_id=None, build_id=None, logs=None,
# now to handle the individual rpms
for relpath in [srpm] + rpms:
fn = "%s/%s" % (uploadpath, relpath)
rpminfo = import_rpm(fn, binfo, brmap.get(relpath), draft=draft)
rpminfo = import_rpm(fn, binfo, brmap.get(relpath), draft=binfo['draft'])
import_rpm_file(fn, binfo, rpminfo)
add_rpm_sig(rpminfo['id'], koji.rip_rpm_sighdr(fn))
if logs:
@ -14866,14 +14857,14 @@ class HostExports(object):
new_typed_build(binfo, 'rpm')
return build_id
def completeBuild(self, task_id, build_id, srpm, rpms, brmap=None, logs=None, draft=False):
def completeBuild(self, task_id, build_id, srpm, rpms, brmap=None, logs=None):
"""Import final build contents into the database"""
# sanity checks
host = Host()
host.verify()
task = Task(task_id)
task.assertHost(host.id)
result = import_build(srpm, rpms, brmap, task_id, build_id, logs=logs, draft=draft)
result = import_build(srpm, rpms, brmap, task_id, build_id, logs=logs)
build_notification(task_id, build_id)
return result

View file

@ -82,6 +82,7 @@ class TestImportBuild(unittest.TestCase):
'version': 'version',
'release': 'release',
'id': 12345,
'draft': False
}
# get_build called once to check for existing,
# if it doesn't exist, called another time after creating