summaryrefslogtreecommitdiff
path: root/test/lib/ansible_test/_internal/ci/azp.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib/ansible_test/_internal/ci/azp.py')
-rw-r--r--test/lib/ansible_test/_internal/ci/azp.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/test/lib/ansible_test/_internal/ci/azp.py b/test/lib/ansible_test/_internal/ci/azp.py
index d5b3999ae3..a573f8ce05 100644
--- a/test/lib/ansible_test/_internal/ci/azp.py
+++ b/test/lib/ansible_test/_internal/ci/azp.py
@@ -43,6 +43,8 @@ class AzurePipelines(CIProvider):
def __init__(self):
self.auth = AzurePipelinesAuthHelper()
+ self._changes: AzurePipelinesChanges | None = None
+
@staticmethod
def is_supported(): # type: () -> bool
"""Return True if this provider is supported in the current running environment."""
@@ -71,18 +73,20 @@ class AzurePipelines(CIProvider):
return prefix
- def get_base_branch(self): # type: () -> str
- """Return the base branch or an empty string."""
- base_branch = os.environ.get('SYSTEM_PULLREQUEST_TARGETBRANCH') or os.environ.get('BUILD_SOURCEBRANCHNAME')
+ def get_base_commit(self, args: CommonConfig) -> str:
+ """Return the base commit or an empty string."""
+ return self._get_changes(args).base_commit or ''
- if base_branch:
- base_branch = 'origin/%s' % base_branch
+ def _get_changes(self, args: CommonConfig) -> AzurePipelinesChanges:
+ """Return an AzurePipelinesChanges instance, which will be created on first use."""
+ if not self._changes:
+ self._changes = AzurePipelinesChanges(args)
- return base_branch or ''
+ return self._changes
def detect_changes(self, args): # type: (TestConfig) -> t.Optional[t.List[str]]
"""Initialize change detection."""
- result = AzurePipelinesChanges(args)
+ result = self._get_changes(args)
if result.is_pr:
job_type = 'pull request'
@@ -128,7 +132,7 @@ class AzurePipelines(CIProvider):
def get_git_details(self, args): # type: (CommonConfig) -> t.Optional[t.Dict[str, t.Any]]
"""Return details about git in the current environment."""
- changes = AzurePipelinesChanges(args)
+ changes = self._get_changes(args)
details = dict(
base_commit=changes.base_commit,