mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-05 11:48:33 +08:00
Make it optional to tag build for CG import
Fixes FACTORY-3467 Signed-off-by: Chenxiong Qi <cqi@redhat.com>
This commit is contained in:
@@ -41,7 +41,7 @@ from six import text_type
|
||||
import koji
|
||||
import pungi.arch
|
||||
|
||||
from module_build_service import log, build_logs, Modulemd, glib
|
||||
from module_build_service import conf, log, build_logs, Modulemd, glib
|
||||
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
@@ -734,7 +734,8 @@ class KojiContentGenerator(object):
|
||||
try:
|
||||
serverdir = self._upload_outputs(session, metadata, file_dir)
|
||||
build_info = session.CGImport(metadata, serverdir)
|
||||
self._tag_cg_build()
|
||||
if conf.koji_cg_tag_build:
|
||||
self._tag_cg_build()
|
||||
log.info("Content generator import done.")
|
||||
log.debug(json.dumps(build_info, sort_keys=True, indent=4))
|
||||
|
||||
|
||||
@@ -423,6 +423,11 @@ class Config(object):
|
||||
'type': dict,
|
||||
'default': {},
|
||||
'desc': 'Per base-module name:stream Koji arches list.'},
|
||||
'koji_cg_tag_build': {
|
||||
'type': bool,
|
||||
'default': True,
|
||||
'desc': 'Indicate whether tagging build is enabled during importing '
|
||||
'module to Koji.'},
|
||||
'koji_cg_build_tag_template': {
|
||||
'type': str,
|
||||
'default': "{}-modular-updates-candidate",
|
||||
|
||||
@@ -294,10 +294,15 @@ def wait(config, session, msg):
|
||||
log.debug("Assigning koji tag=%s to module build" % tag)
|
||||
build.koji_tag = tag
|
||||
|
||||
cg_build_koji_tag = get_content_generator_build_koji_tag(build_deps)
|
||||
log.debug("Assigning Content Generator build koji tag=%s to module "
|
||||
"build", cg_build_koji_tag)
|
||||
build.cg_build_koji_tag = cg_build_koji_tag
|
||||
if conf.koji_cg_tag_build:
|
||||
cg_build_koji_tag = get_content_generator_build_koji_tag(build_deps)
|
||||
log.debug("Assigning Content Generator build koji tag=%s to module build",
|
||||
cg_build_koji_tag)
|
||||
build.cg_build_koji_tag = cg_build_koji_tag
|
||||
else:
|
||||
log.debug('It is disabled to tag module build during importing into'
|
||||
' Koji by Content Generator.')
|
||||
log.debug('Skip to assign Content Generator build koji tag to module build.')
|
||||
|
||||
builder = module_build_service.builder.GenericBuilder.create_from_module(
|
||||
session, build, config)
|
||||
|
||||
@@ -26,6 +26,7 @@ import module_build_service.messaging
|
||||
import module_build_service.scheduler.handlers.modules
|
||||
import os
|
||||
import koji
|
||||
import pytest
|
||||
from tests import conf, db, app, scheduler_init_data
|
||||
import module_build_service.resolver
|
||||
from module_build_service import build_logs, Modulemd
|
||||
@@ -206,6 +207,10 @@ class TestModuleWait:
|
||||
module_build = ModuleBuild.query.filter_by(id=2).one()
|
||||
assert module_build.cg_build_koji_tag == "modular-updates-candidate"
|
||||
|
||||
@pytest.mark.parametrize('koji_cg_tag_build,expected_cg_koji_build_tag', [
|
||||
[True, 'f27-modular-updates-candidate'],
|
||||
[False, None],
|
||||
])
|
||||
@patch("module_build_service.builder.GenericBuilder.default_buildroot_groups",
|
||||
return_value={'build': [], 'srpm-build': []})
|
||||
@patch("module_build_service.builder.KojiModuleBuilder.KojiModuleBuilder.get_session")
|
||||
@@ -215,7 +220,8 @@ class TestModuleWait:
|
||||
@patch("module_build_service.config.Config.base_module_names",
|
||||
new_callable=mock.PropertyMock, return_value=set(["base-runtime", "platform"]))
|
||||
def test_set_cg_build_koji_tag(
|
||||
self, cfg, generic_resolver, resolver, create_builder, koji_get_session, dbg):
|
||||
self, cfg, generic_resolver, resolver, create_builder, koji_get_session, dbg,
|
||||
koji_cg_tag_build, expected_cg_koji_build_tag):
|
||||
"""
|
||||
Test that build.cg_build_koji_tag is set.
|
||||
"""
|
||||
@@ -243,10 +249,12 @@ class TestModuleWait:
|
||||
resolver.get_module_build_dependencies.return_value = {
|
||||
"module-bootstrap-tag": base_mmd}
|
||||
|
||||
with patch.object(module_build_service.resolver, 'system_resolver', new=resolver):
|
||||
msg = module_build_service.messaging.MBSModule(msg_id=None, module_build_id=2,
|
||||
module_build_state='some state')
|
||||
module_build_service.scheduler.handlers.modules.wait(
|
||||
config=conf, session=db.session, msg=msg)
|
||||
module_build = ModuleBuild.query.filter_by(id=2).one()
|
||||
assert module_build.cg_build_koji_tag == "f27-modular-updates-candidate"
|
||||
with patch.object(module_build_service.scheduler.handlers.modules.conf,
|
||||
'koji_cg_tag_build', new=koji_cg_tag_build):
|
||||
with patch.object(module_build_service.resolver, 'system_resolver', new=resolver):
|
||||
msg = module_build_service.messaging.MBSModule(msg_id=None, module_build_id=2,
|
||||
module_build_state='some state')
|
||||
module_build_service.scheduler.handlers.modules.wait(
|
||||
config=conf, session=db.session, msg=msg)
|
||||
module_build = ModuleBuild.query.filter_by(id=2).one()
|
||||
assert module_build.cg_build_koji_tag == expected_cg_koji_build_tag
|
||||
|
||||
Reference in New Issue
Block a user