Update version suffix to fit build file type
Resolves a bug where when using "build.py" as the primary build file and some other secondary file like "build.gradle", would result in the ".gradle" file version having a "-dev" suffix instead of "-SNAPSHOT" Includes regression test
This commit is contained in:
parent
78824ea38b
commit
e5d1203435
2 changed files with 41 additions and 1 deletions
|
@ -85,6 +85,10 @@ class BuildFile(Validateable):
|
|||
|
||||
def set_version(self, new_version: Version):
|
||||
# TODO: How can we create regex-pattern constants to use them at both places?
|
||||
|
||||
if new_version.is_snapshot():
|
||||
new_version.snapshot_suffix = self.get_default_suffix()
|
||||
|
||||
try:
|
||||
match self.build_file_type():
|
||||
case BuildFileType.JS:
|
||||
|
|
|
@ -5,7 +5,9 @@ from pybuilder.core import Project
|
|||
|
||||
from src.main.python.ddadevops.release_mixin import ReleaseMixin
|
||||
from src.main.python.ddadevops.domain import Devops, Release
|
||||
from .domain.helper import devops_config
|
||||
from src.main.python.ddadevops.application import ReleaseService
|
||||
from src.main.python.ddadevops.infrastructure import BuildFileRepository
|
||||
from .domain.helper import devops_config, GitApiMock, ArtifactDeploymentApiMock
|
||||
from .resource_helper import copy_resource
|
||||
|
||||
|
||||
|
@ -30,3 +32,37 @@ def test_release_mixin(tmp_path):
|
|||
|
||||
sut.initialize_build_dir()
|
||||
assert sut.build_path() == f"{str_tmp_path}/target/name/release-test"
|
||||
|
||||
def test_release_mixin_different_version_suffixes(tmp_path):
|
||||
str_tmp_path = str(tmp_path)
|
||||
copy_resource(Path("config.py"), tmp_path)
|
||||
copy_resource(Path("config.gradle"), tmp_path)
|
||||
|
||||
project = Project(str_tmp_path, name="name")
|
||||
|
||||
os.environ["RELEASE_ARTIFACT_TOKEN"] = "ratoken"
|
||||
|
||||
sut = ReleaseMixin(
|
||||
project,
|
||||
devops_config(
|
||||
{
|
||||
"project_root_path": str_tmp_path,
|
||||
"mixin_types": ["RELEASE"],
|
||||
"build_types": [],
|
||||
"module": "release-test",
|
||||
"release_current_branch": "main",
|
||||
"release_main_branch": "main",
|
||||
"release_primary_build_file": "config.py",
|
||||
"release_secondary_build_files": ["config.gradle"],
|
||||
}
|
||||
),
|
||||
)
|
||||
sut.release_service = ReleaseService(GitApiMock(), ArtifactDeploymentApiMock(), BuildFileRepository(project.basedir))
|
||||
|
||||
sut.initialize_build_dir()
|
||||
sut.update_release_type("PATCH")
|
||||
sut.prepare_release()
|
||||
sut.tag_bump_and_push_release()
|
||||
|
||||
assert sut.release_service.build_file_repository.get(Path("config.py")).get_version().to_string() == "3.1.5-dev"
|
||||
assert sut.release_service.build_file_repository.get(Path("config.gradle")).get_version().to_string() == "3.1.5-SNAPSHOT"
|
Loading…
Reference in a new issue