예제 #1
0
 def test_create_valid(self):
     plugins = plugin_based.PluginsDef(buildstep=[{"name": "some_plugin"}])
     assert plugins.prebuild == []
     assert plugins.buildstep == [{"name": "some_plugin"}]
     assert plugins.prepublish == []
     assert plugins.postbuild == []
     assert plugins.exit == []
예제 #2
0
 def test_create_invalid(self):
     with pytest.raises(OsbsValidationException,
                        match="1 is not of type 'boolean'"):
         plugin_based.PluginsDef(prebuild=[{
             "name": "some_plugin",
             "required": 1
         }])
예제 #3
0
class BinaryPreBuildTask(plugin_based.PluginBasedTask[TaskParams]):
    """Binary container pre-build task."""

    plugins_def = plugin_based.PluginsDef(
        prebuild=[
            {"name": "distgit_fetch_artefacts"},
            {"name": "check_and_set_platforms"},
            {"name": "check_user_settings"},
            {"name": "flatpak_create_dockerfile"},
            {"name": "inject_parent_image"},
            {"name": "check_base_image"},
            {"name": "koji_parent"},
            {"name": "resolve_composes"},
            {"name": "add_filesystem"},
            {"name": "flatpak_update_dockerfile"},
            {"name": "bump_release"},
            {"name": "add_labels_in_dockerfile"},
            {"name": "resolve_remote_source"},
            {"name": "pin_operator_digest"},
            {"name": "change_from_in_dockerfile"},
            {"name": "add_help"},
            {"name": "fetch_maven_artifacts"},
            {"name": "add_image_content_manifest"},
            {"name": "add_dockerfile"},
            {"name": "inject_yum_repos"},
            {"name": "hide_files"},
            {"name": "distribution_scope"},
            {"name": "add_buildargs_in_dockerfile"},
            {"name": "tag_from_config"},
        ],
    )
예제 #4
0
class SourceBuildTask(SourceBuildBaseTask):
    """Source container build phases task."""

    plugins_def = plugin_based.PluginsDef(
        prebuild=[
            {
                "name": "fetch_sources"
            },
            {
                "name": "bump_release"
            },
        ],
        buildstep=[
            {
                "name": "source_container"
            },
        ],
        postbuild=[
            {
                "name": "tag_and_push"
            },
            {
                "name": "verify_media",
                "required": False
            },
            {
                "name": "koji_import_source_container"
            },
            {
                "name": "koji_tag_build"
            },
        ],
    )
예제 #5
0
class BinaryExitTask(plugin_based.PluginBasedTask[TaskParams]):
    """Binary container exit-build task."""

    plugins_def = plugin_based.PluginsDef(
        exit=[
            {"name": "cancel_build_reservation"},
            {"name": "store_metadata"},
            {"name": "sendmail"},
        ],
    )
예제 #6
0
class SourceExitTask(SourceBuildBaseTask):
    """Source container exit task."""

    plugins_def = plugin_based.PluginsDef(exit=[
        {
            "name": "cancel_build_reservation"
        },
        {
            "name": "store_metadata"
        },
    ], )
예제 #7
0
class BinaryPostBuildTask(plugin_based.PluginBasedTask[TaskParams]):
    """Binary container post-build task."""

    plugins_def = plugin_based.PluginsDef(
        postbuild=[
            {"name": "fetch_docker_archive"},
            {"name": "flatpak_create_oci"},
            {"name": "tag_and_push"},
            {"name": "all_rpm_packages"},
            {"name": "export_operator_manifests"},
            {"name": "gather_builds_metadata"},
            {"name": "compare_components"},
            {"name": "group_manifests"},
            {"name": "maven_url_sources_metadata"},
            {"name": "verify_media", "required": False},
            {"name": "push_floating_tags"},
            {"name": "koji_import"},
            {"name": "koji_tag_build"},
        ],
    )