Skip to content

Commit

Permalink
Fix for #768 (#769)
Browse files Browse the repository at this point in the history
* Fix for #768

* Address PR Comments

---------

Co-authored-by: Blake Tullysmith <[email protected]>
  • Loading branch information
ajaxian79 and bluescalesolutions-bt authored Nov 19, 2023
1 parent 0ea42c5 commit 03f8a22
Showing 1 changed file with 24 additions and 34 deletions.
58 changes: 24 additions & 34 deletions cmd/digger/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,17 +46,6 @@ func gitHubCI(lock core_locking.Lock, policyChecker core_policy.Checker, backend
usage.SendUsageRecord("", "log", "non github initialisation")
}

defer func() {
if r := recover(); r != nil {
log.Println(fmt.Sprintf("stacktrace from panic: \n" + string(debug.Stack())))
err := usage.SendLogRecord(githubActor, fmt.Sprintf("Panic occurred. %s", r))
if err != nil {
log.Printf("Failed to send log record. %s\n", err)
}
os.Exit(1)
}
}()

ghToken := os.Getenv("GITHUB_TOKEN")
if ghToken == "" {
reportErrorAndExit(githubActor, "GITHUB_TOKEN is not defined", 1)
Expand Down Expand Up @@ -428,12 +417,6 @@ func gitLabCI(lock core_locking.Lock, policyChecker core_policy.Checker, backend
log.Println("Commands executed successfully")

reportErrorAndExit(projectName, "Digger finished successfully", 0)

defer func() {
if r := recover(); r != nil {
reportErrorAndExit(projectName, fmt.Sprintf("Panic occurred. %s", r), 1)
}
}()
}

func azureCI(lock core_locking.Lock, policyChecker core_policy.Checker, backendApi core_backend.Api, reportingStrategy reporting.ReportStrategy) {
Expand Down Expand Up @@ -520,12 +503,6 @@ func azureCI(lock core_locking.Lock, policyChecker core_policy.Checker, backendA
log.Println("Commands executed successfully")

reportErrorAndExit(parsedAzureContext.BaseUrl, "Digger finished successfully", 0)

defer func() {
if r := recover(); r != nil {
reportErrorAndExit(parsedAzureContext.BaseUrl, fmt.Sprintf("Panic occurred. %s", r), 1)
}
}()
}

func bitbucketCI(lock core_locking.Lock, policyChecker core_policy.Checker, backendApi core_backend.Api, reportingStrategy reporting.ReportStrategy) {
Expand All @@ -537,17 +514,6 @@ func bitbucketCI(lock core_locking.Lock, policyChecker core_policy.Checker, back
usage.SendUsageRecord("", "log", "non github initialisation")
}

defer func() {
if r := recover(); r != nil {
log.Println(fmt.Sprintf("stacktrace from panic for %s: %v\n", r, string(debug.Stack())))
err := usage.SendLogRecord(actor, fmt.Sprintf("Panic occurred. %s", r))
if err != nil {
log.Printf("Failed to send log record. %s\n", err)
}
os.Exit(1)
}
}()

runningMode := os.Getenv("INPUT_DIGGER_MODE")

repository := os.Getenv("BITBUCKET_REPO_FULL_NAME")
Expand Down Expand Up @@ -855,19 +821,43 @@ func main() {
log.Println("Lock provider has been created successfully")

ci := digger.DetectCI()

var logLeader = "Unknown CI"

switch ci {
case digger.GitHub:
logLeader = os.Getenv("GITHUB_ACTOR")
gitHubCI(lock, policyChecker, backendApi, reportStrategy)
case digger.GitLab:
logLeader = os.Getenv("CI_PROJECT_NAME")
gitLabCI(lock, policyChecker, backendApi, reportStrategy)
case digger.Azure:
// This should be refactored in the future because in this way the parsing
// is done twice, both here and inside azureCI, a better solution might be
// to encapsulate it into a method on the azure package and then grab the
// value here and pass it into the azureCI call.
azureContext := os.Getenv("AZURE_CONTEXT")
parsedAzureContext, _ := azure.GetAzureReposContext(azureContext)
logLeader = parsedAzureContext.BaseUrl
azureCI(lock, policyChecker, backendApi, reportStrategy)
case digger.BitBucket:
logLeader = os.Getenv("BITBUCKET_STEP_TRIGGERER_UUID")
bitbucketCI(lock, policyChecker, backendApi, reportStrategy)
case digger.None:
print("No CI detected.")
os.Exit(10)
}

defer func() {
if r := recover(); r != nil {
log.Println(fmt.Sprintf("stacktrace from panic: \n" + string(debug.Stack())))
err := usage.SendLogRecord(logLeader, fmt.Sprintf("Panic occurred. %s", r))
if err != nil {
log.Printf("Failed to send log record. %s\n", err)
}
os.Exit(1)
}
}()
}

func newPlanStorage(ghToken string, ghRepoOwner string, ghRepositoryName string, requestedBy string, prNumber *int) core_storage.PlanStorage {
Expand Down

0 comments on commit 03f8a22

Please sign in to comment.