Skip to content

Commit bf6c156

Browse files
Fix base branch SHA usage with GitHub Actions (#9257)
1 parent f32bda0 commit bf6c156

28 files changed

+166
-95
lines changed

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilityRepoServices.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,15 @@ static PullRequestInfo buildPullRequestInfo(
125125
}
126126

127127
// complete with CI vars if user didn't provide all information
128-
PullRequestInfo ciInfo = PullRequestInfo.merge(userInfo, ciProviderInfo.buildPullRequestInfo());
128+
PullRequestInfo ciInfo =
129+
PullRequestInfo.coalesce(userInfo, ciProviderInfo.buildPullRequestInfo());
129130
String headSha = ciInfo.getHeadCommit().getSha();
130131
if (Strings.isNotBlank(headSha)) {
131132
// if head sha present try to populate author, committer and message info through git client
132133
try {
133134
CommitInfo commitInfo = gitClient.getCommitInfo(headSha, true);
134-
return PullRequestInfo.merge(ciInfo, new PullRequestInfo(null, null, commitInfo, null));
135+
return PullRequestInfo.coalesce(
136+
ciInfo, new PullRequestInfo(null, null, null, commitInfo, null));
135137
} catch (Exception ignored) {
136138
}
137139
}
@@ -145,6 +147,7 @@ private static PullRequestInfo buildUserPullRequestInfo(
145147
new PullRequestInfo(
146148
config.getGitPullRequestBaseBranch(),
147149
config.getGitPullRequestBaseBranchSha(),
150+
null,
148151
new CommitInfo(config.getGitCommitHeadSha()),
149152
null);
150153

@@ -164,10 +167,11 @@ private static PullRequestInfo buildUserPullRequestInfo(
164167
new PullRequestInfo(
165168
null,
166169
mergeBase,
170+
null,
167171
new CommitInfo(environment.get(Constants.DDCI_PULL_REQUEST_SOURCE_SHA)),
168172
null);
169173

170-
return PullRequestInfo.merge(userInfo, ddCiInfo);
174+
return PullRequestInfo.coalesce(userInfo, ddCiInfo);
171175
}
172176

173177
private static String getRepoRoot(CIInfo ciInfo, GitClient.Factory gitClientFactory) {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/AppVeyorInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ public PullRequestInfo buildPullRequestInfo() {
9191
return new PullRequestInfo(
9292
normalizeBranch(environment.get(APPVEYOR_REPO_BRANCH)),
9393
null,
94+
null,
9495
new CommitInfo(environment.get(APPVEYOR_PR_HEAD_COMMIT)),
9596
environment.get(APPVEYOR_PR_NUMBER));
9697
} else {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/AzurePipelinesInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ public PullRequestInfo buildPullRequestInfo() {
9191
return new PullRequestInfo(
9292
normalizeBranch(environment.get(AZURE_PR_TARGET_BRANCH)),
9393
null,
94+
null,
9495
CommitInfo.NOOP,
9596
environment.get(AZURE_PR_NUMBER));
9697
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/BitBucketInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ public PullRequestInfo buildPullRequestInfo() {
7979
return new PullRequestInfo(
8080
normalizeBranch(environment.get(BITBUCKET_PR_DESTINATION_BRANCH)),
8181
null,
82+
null,
8283
CommitInfo.NOOP,
8384
environment.get(BITBUCKET_PR_NUMBER));
8485
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/BitriseInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public PullRequestInfo buildPullRequestInfo() {
7676
return new PullRequestInfo(
7777
normalizeBranch(environment.get(BITRISE_GIT_BRANCH_DEST)),
7878
null,
79+
null,
7980
CommitInfo.NOOP,
8081
environment.get(BITRISE_PR_NUMBER));
8182
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/BuddyInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public PullRequestInfo buildPullRequestInfo() {
6767
return new PullRequestInfo(
6868
normalizeBranch(environment.get(BUDDY_RUN_PR_BASE_BRANCH)),
6969
null,
70+
null,
7071
CommitInfo.NOOP,
7172
environment.get(BUDDY_RUN_PR_NUMBER));
7273
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/BuildkiteInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ public PullRequestInfo buildPullRequestInfo() {
8686
return new PullRequestInfo(
8787
normalizeBranch(environment.get(BUILDKITE_PULL_REQUEST_BASE_BRANCH)),
8888
null,
89+
null,
8990
CommitInfo.NOOP,
9091
environment.get(BUILDKITE_PULL_REQUEST_NUMBER));
9192
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CITagsProvider.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public Map<String, String> getCiTags(CIInfo ciInfo, PullRequestInfo pullRequestI
4242
.withAdditionalTags(ciInfo.getAdditionalTags())
4343
.withPullRequestBaseBranch(pullRequestInfo)
4444
.withPullRequestBaseBranchSha(pullRequestInfo)
45+
.withPullRequestBaseBranchHeadSha(pullRequestInfo)
4546
.withGitCommitHeadSha(pullRequestInfo)
4647
.withGitCommitHeadAuthorName(pullRequestInfo)
4748
.withGitCommitHeadAuthorEmail(pullRequestInfo)
@@ -135,13 +136,16 @@ public CITagsBuilder withAdditionalTags(final Map<String, String> additionalTags
135136
}
136137

137138
public CITagsBuilder withPullRequestBaseBranch(final PullRequestInfo pullRequestInfo) {
138-
return putTagValue(
139-
Tags.GIT_PULL_REQUEST_BASE_BRANCH, pullRequestInfo.getPullRequestBaseBranch());
139+
return putTagValue(Tags.GIT_PULL_REQUEST_BASE_BRANCH, pullRequestInfo.getBaseBranch());
140140
}
141141

142142
public CITagsBuilder withPullRequestBaseBranchSha(final PullRequestInfo pullRequestInfo) {
143+
return putTagValue(Tags.GIT_PULL_REQUEST_BASE_BRANCH_SHA, pullRequestInfo.getBaseBranchSha());
144+
}
145+
146+
public CITagsBuilder withPullRequestBaseBranchHeadSha(final PullRequestInfo pullRequestInfo) {
143147
return putTagValue(
144-
Tags.GIT_PULL_REQUEST_BASE_BRANCH_SHA, pullRequestInfo.getPullRequestBaseBranchSha());
148+
Tags.GIT_PULL_REQUEST_BASE_BRANCH_HEAD_SHA, pullRequestInfo.getBaseBranchHeadSha());
145149
}
146150

147151
public CITagsBuilder withGitCommitHeadSha(final PullRequestInfo pullRequestInfo) {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CircleCIInfo.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ public CIInfo buildCIInfo() {
6262
@Nonnull
6363
@Override
6464
public PullRequestInfo buildPullRequestInfo() {
65-
return new PullRequestInfo(null, null, CommitInfo.NOOP, environment.get(CIRCLECI_PR_NUMBER));
65+
return new PullRequestInfo(
66+
null, null, null, CommitInfo.NOOP, environment.get(CIRCLECI_PR_NUMBER));
6667
}
6768

6869
private String buildPipelineUrl(final String pipelineId) {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CodefreshInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public PullRequestInfo buildPullRequestInfo() {
5151
return new PullRequestInfo(
5252
normalizeBranch(environment.get(CF_PULL_REQUEST_TARGET_BRANCH)),
5353
null,
54+
null,
5455
CommitInfo.NOOP,
5556
environment.get(CF_PULL_REQUEST_NUMBER));
5657
}

0 commit comments

Comments
 (0)