MCPcopy Index your code
hub / github.com/bytebase/bytebase / runCheck

Function runCheck

action/command/check.go:49–144  ·  view source on GitHub ↗
(w *world.World)

Source from the content-addressed store, hash-verified

47}
48
49func runCheck(w *world.World) func(*cobra.Command, []string) error {
50 return func(cmd *cobra.Command, _ []string) error {
51 defer func() {
52 output.WriteOutput(w)
53 }()
54 platform := w.Platform
55 w.Logger.Info("running on platform", "platform", platform.String())
56 client, err := newClientFromWorld(w)
57 if err != nil {
58 return err
59 }
60 defer client.close()
61
62 // Check version compatibility
63 if err := checkVersionCompatibility(w, client, args.Version); err != nil {
64 return err
65 }
66
67 releaseFiles, err := getReleaseFiles(w)
68 if err != nil {
69 return err
70 }
71 releaseType := v1pb.Release_VERSIONED
72 if w.Declarative {
73 releaseType = v1pb.Release_DECLARATIVE
74 }
75 checkReleaseResponse, err := client.checkRelease(cmd.Context(), &v1pb.CheckReleaseRequest{
76 Parent: w.Project,
77 Release: &v1pb.Release{
78 Files: releaseFiles,
79 Type: releaseType,
80 },
81 Targets: w.Targets,
82 CustomRules: w.CustomRules,
83 VcsUser: getVCSUser(platform),
84 })
85 if err != nil {
86 return err
87 }
88
89 // Store check results in OutputMap for file output
90 w.OutputMap.CheckResults = checkReleaseResponse
91
92 w.Logger.Info("check release response", "resultCount", len(checkReleaseResponse.Results))
93
94 // Generate platform-specific outputs
95 switch platform {
96 case world.GitHub:
97 if err := github.CreateCommentAndAnnotation(checkReleaseResponse); err != nil {
98 return err
99 }
100 case world.GitLab:
101 if err := gitlab.WriteReleaseCheckToCodeQualityJSON(checkReleaseResponse); err != nil {
102 return err
103 }
104 case world.AzureDevOps:
105 if err := azure.LoggingReleaseChecks(checkReleaseResponse); err != nil {
106 return err

Callers 1

NewCheckCommandFunction · 0.85

Calls 14

WriteOutputFunction · 0.92
LoggingReleaseChecksFunction · 0.92
CreateBitbucketReportFunction · 0.92
newClientFromWorldFunction · 0.85
getReleaseFilesFunction · 0.85
getVCSUserFunction · 0.85
InfoMethod · 0.80
checkReleaseMethod · 0.80
ErrorfMethod · 0.80

Tested by

no test coverage detected