|
|
@ -30,29 +30,24 @@ class ReleaseMixin(DevopsBuild):
|
|
|
|
self.config_file = release_mixin_config['config_file']
|
|
|
|
self.config_file = release_mixin_config['config_file']
|
|
|
|
self.main_branch = release_mixin_config['main_branch']
|
|
|
|
self.main_branch = release_mixin_config['main_branch']
|
|
|
|
self.version_repo = VersionRepository(self.config_file)
|
|
|
|
self.version_repo = VersionRepository(self.config_file)
|
|
|
|
|
|
|
|
self.git_repo = GitRepository()
|
|
|
|
self.release_version = None
|
|
|
|
self.release_version = None
|
|
|
|
self.bump_version = None
|
|
|
|
self.bump_version = None
|
|
|
|
self.commit_string = None
|
|
|
|
self.commit_string = None
|
|
|
|
|
|
|
|
|
|
|
|
def init(self):
|
|
|
|
def init_release(self):
|
|
|
|
init_service = InitReleaseService(self.version_repo)
|
|
|
|
init_service = InitReleaseService(self.version_repo)
|
|
|
|
self.release_version = init_service.create_release_version(self.commit_string)
|
|
|
|
self.release_version = init_service.create_release_version(self.commit_string)
|
|
|
|
self.bump_version = self.release_version.create_bump_version()
|
|
|
|
self.bump_version = self.release_version.create_bump_version()
|
|
|
|
|
|
|
|
|
|
|
|
def prepare(self, version):
|
|
|
|
def prepare_release(self):
|
|
|
|
git_repository = GitRepository()
|
|
|
|
prepare_release_service = PrepareReleaseService(self.version_repo, self.config_file, self.main_branch)
|
|
|
|
if self.main_branch not in git_repository.get_current_branch():
|
|
|
|
if self.release_version is None or self.bump_version is None:
|
|
|
|
raise Exception('Trying to release while not on main branch')
|
|
|
|
raise Exception('prepare_release was called before init_release')
|
|
|
|
|
|
|
|
|
|
|
|
self.version_repo.write_file(version.get_version_string())
|
|
|
|
# prepare_release_service.run_tests() # not implemented
|
|
|
|
git_repository.add_file(self.config_file)
|
|
|
|
prepare_release_service.write_and_commit_release(self.release_version)
|
|
|
|
match version.release_type:
|
|
|
|
prepare_release_service.write_and_commit_bump(self.bump_version)
|
|
|
|
case None:
|
|
|
|
|
|
|
|
raise Exception('Release type not set but trying to commit.')
|
|
|
|
|
|
|
|
case ReleaseType.BUMP:
|
|
|
|
|
|
|
|
git_repository.commit(f'Version bump')
|
|
|
|
|
|
|
|
case _:
|
|
|
|
|
|
|
|
git_repository.commit(f'Release {version.get_version_string()}')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def tag_and_push(self, version):
|
|
|
|
def tag_and_push(self, version):
|
|
|
|
git_repository = GitRepository()
|
|
|
|
git_repository = GitRepository()
|
|
|
|