Skip to content

Commit a8f0144

Browse files
feat: pass commit SHA and branch name on validation runs (#208)
1 parent 962d380 commit a8f0144

1 file changed

Lines changed: 21 additions & 10 deletions

File tree

cmd/run.go

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -229,11 +229,12 @@ func runTests(cmd *cobra.Command, args []string) error {
229229
var req *backend.CreateDriftRunRequest
230230

231231
if isValidation {
232-
// Validation mode: no CI metadata needed
233232
req = &backend.CreateDriftRunRequest{
234233
ObservableServiceId: cfg.Service.ID,
235234
CliVersion: version.Version,
236235
IsValidationRun: true,
236+
CommitSha: stringPtr(getCommitSHAFromEnv()),
237+
BranchName: stringPtr(getBranchFromEnv()),
237238
}
238239
} else {
239240
// Regular CI mode: validate and include CI metadata
@@ -1015,15 +1016,7 @@ func validateCIMetadata(metadata CIMetadata) (CIMetadata, error) {
10151016
// Only populate from environment variables if in CI
10161017
if inCI {
10171018
if metadata.CommitSha == "" {
1018-
if isGitHub {
1019-
if sha := getGitHubPRHeadSHA(); sha != "" {
1020-
metadata.CommitSha = sha
1021-
} else {
1022-
metadata.CommitSha = os.Getenv("GITHUB_SHA")
1023-
}
1024-
} else if isGitLab {
1025-
metadata.CommitSha = os.Getenv("CI_COMMIT_SHA")
1026-
}
1019+
metadata.CommitSha = getCommitSHAFromEnv()
10271020
}
10281021

10291022
if metadata.PRNumber == "" {
@@ -1114,6 +1107,24 @@ func stringPtr(s string) *string {
11141107
return &s
11151108
}
11161109

1110+
// getCommitSHAFromEnv returns the commit SHA from CI environment variables.
1111+
// Returns empty string if no SHA can be determined from the environment.
1112+
func getCommitSHAFromEnv() string {
1113+
isGitHub := os.Getenv("GITHUB_ACTIONS") == "true"
1114+
isGitLab := os.Getenv("GITLAB_CI") == "true"
1115+
1116+
if isGitHub {
1117+
if sha := getGitHubPRHeadSHA(); sha != "" {
1118+
return sha
1119+
}
1120+
return os.Getenv("GITHUB_SHA")
1121+
} else if isGitLab {
1122+
return os.Getenv("CI_COMMIT_SHA")
1123+
}
1124+
1125+
return ""
1126+
}
1127+
11171128
// getBranchFromEnv returns the branch name from CI environment variables
11181129
// Returns empty string if no branch can be determined from environment
11191130
func getBranchFromEnv() string {

0 commit comments

Comments
 (0)