diff --git a/doc/ReleaseMixin.md b/doc/ReleaseMixin.md index 646ba94..3290dde 100644 --- a/doc/ReleaseMixin.md +++ b/doc/ReleaseMixin.md @@ -5,6 +5,7 @@ Support for releases following the trunk-based-release flow (see https://trunkba ```mermaid classDiagram class ReleaseMixin { + update_release_type (release_type) - change the release type during run time prepare_release() - adjust all build files to carry the correct version & commit localy tag_and_push_release() - tag the git repo and push changes to origin } diff --git a/src/main/python/ddadevops/domain/release.py b/src/main/python/ddadevops/domain/release.py index 7be61d8..8d55c3e 100644 --- a/src/main/python/ddadevops/domain/release.py +++ b/src/main/python/ddadevops/domain/release.py @@ -22,6 +22,9 @@ class Release(Validateable): ) self.version = version + def update_release_type(self, release_type: ReleaseType): + self.release_type = release_type + def validate(self): result = [] result += self.__validate_is_not_empty__("release_type") diff --git a/src/main/python/ddadevops/release_mixin.py b/src/main/python/ddadevops/release_mixin.py index fd909e8..e761b1a 100644 --- a/src/main/python/ddadevops/release_mixin.py +++ b/src/main/python/ddadevops/release_mixin.py @@ -1,7 +1,7 @@ from pybuilder.core import Project from .devops_build import DevopsBuild from .application import ReleaseService -from .domain import MixinType +from .domain import MixinType, ReleaseType class ReleaseMixin(DevopsBuild): @@ -12,6 +12,11 @@ class ReleaseMixin(DevopsBuild): if MixinType.RELEASE not in devops.mixins: raise ValueError("ReleaseMixin requires MixinType.RELEASE") + def update_release_type(self, release_type: ReleaseType): + devops = self.devops_repo.get_devops(self.project) + release = devops.mixins[MixinType.RELEASE] + release.update_release_type(release_type) + def prepare_release(self): devops = self.devops_repo.get_devops(self.project) release = devops.mixins[MixinType.RELEASE]