ctl.plugins.release

Plugin interface for plugins that handle software releases

Classes


ReleasePlugin

ReleasePlugin(ctl.plugins.command.CommandPlugin)

base plugin interface for releasing / packaging software

Class Attributes

  • ConfigSchema (ConfigSchema Class): Base plugin config schema

Methods

_release

def _release(self, **kwargs)

should run release logic


_validate

def _validate(self, **kwargs)

should run build and validation logic


execute

def execute(self, **kwargs)

execute the command(s) specified in the plugin config command list

overrides and calls ExecutablePlugin.execute

Exposed to CLI

namespace: ctl.{plugin_name}


release

def release(self, **kwargs)

Build, validate and release the package

Exposed to CLI

namespace: ctl.{plugin_name}.release


set_repository

def set_repository(self, repository)

Set release repository. Distributions will be built from that repository.

Currently only supports git type repositories

Attributes

  • repository (str): can either be the name of a git type plugin instance or the path to git repository checkout

validate

def validate(self, **kwargs)

Build and validate the package

Exposed to CLI

namespace: ctl.{plugin_name}.validate


ReleasePluginConfig

ReleasePluginConfig(confu.schema.core.Schema)

Configuration schema for ReleasePlugin

Class Attributes

  • repository (Str): repository target for release - should be a path to a source checkout or the name of a repository type plugin