Skip to content

Commit dfbc3c1

Browse files
Use correct way to figure out if we are in staging workflow
1 parent 09cf4c7 commit dfbc3c1

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

scripts/release/build/build_scenario.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
from git import Repo
44

55
from lib.base_logger import logger
6-
from scripts.release.constants import triggered_by_git_tag, is_evg_patch, is_running_in_evg, get_version_id
6+
from scripts.release.constants import triggered_by_git_tag, is_evg_patch, is_running_in_evg, get_version_id, \
7+
DEFAULT_REPOSITORY_PATH
78
from scripts.release.version import calculate_next_version
89

910
COMMIT_SHA_LENGTH = 8
@@ -17,7 +18,7 @@ class BuildScenario(StrEnum):
1718
DEVELOPMENT = "development" # Local build on a developer machine
1819

1920
@classmethod
20-
def infer_scenario_from_environment(cls) -> "BuildScenario":
21+
def infer_scenario_from_environment(cls, repository_path: str = DEFAULT_REPOSITORY_PATH) -> "BuildScenario":
2122
"""Infer the build scenario from environment variables."""
2223
git_tag = triggered_by_git_tag()
2324
is_patch = is_evg_patch()
@@ -31,9 +32,9 @@ def infer_scenario_from_environment(cls) -> "BuildScenario":
3132
elif is_patch or is_evg:
3233
scenario = BuildScenario.PATCH
3334
logger.info(f"Build scenario: {scenario} (patch_id: {patch_id})")
34-
elif is_evg:
35+
elif is_evg and not is_patch:
3536
scenario = BuildScenario.STAGING
36-
logger.info(f"Build scenario: {scenario} (patch_id: {patch_id})")
37+
logger.info(f"Build scenario: {scenario} (version_id: {get_staging_version_id(repository_path)}")
3738
else:
3839
scenario = BuildScenario.DEVELOPMENT
3940
logger.info(f"Build scenario: {scenario}")
@@ -55,7 +56,7 @@ def get_version(self, repository_path: str, changelog_sub_path: str, initial_com
5556
raise ValueError(f"version_id environment variable is not set for `{self}` build scenario")
5657
return patch_id
5758
case BuildScenario.STAGING:
58-
return repo.head.object.hexsha[:COMMIT_SHA_LENGTH]
59+
return get_staging_version_id(repository_path)
5960
case BuildScenario.RELEASE:
6061
return calculate_next_version(repo, changelog_sub_path, initial_commit_sha, initial_version)
6162
case BuildScenario.MANUAL_RELEASE:
@@ -64,3 +65,8 @@ def get_version(self, repository_path: str, changelog_sub_path: str, initial_com
6465
return None
6566

6667
raise ValueError(f"Unknown build scenario: {self}")
68+
69+
70+
def get_staging_version_id(repository_path: str):
71+
repo = Repo(repository_path)
72+
return repo.head.object.hexsha[:COMMIT_SHA_LENGTH]

0 commit comments

Comments
 (0)