Skip to content

Commit de0b484

Browse files
ankitm123msvticket
authored andcommitted
feat: add an option to skip builds for draft PR
Signed-off-by: ankitm123 <[email protected]>
1 parent cbf115a commit de0b484

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

pkg/config/job/presubmit.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ type Presubmit struct {
4646
// (Default: `/test <job name>`)
4747
RerunCommand string `json:"rerun_command,omitempty"`
4848
JenkinsSpec *JenkinsSpec `json:"jenkins_spec,omitempty"`
49+
// SkipDraftPRBuild controls if we want to build a PR in draft mode
50+
SkipDraftPRBuild bool `default:"false" json:"skip_draft_pr_build,omitempty"`
4951

5052
// We'll set these when we load it.
5153
// re *regexp.Regexp // from Trigger.

pkg/plugins/trigger/pull-request.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,5 +270,15 @@ func buildAll(c Client, pr *scm.PullRequest, eventGUID string, elideSkippedConte
270270
if err != nil {
271271
return err
272272
}
273+
274+
for _, v := range c.Config.GetPresubmits(pr.Base.Repo) {
275+
// For multiple pre submits this wont run any of the pre-submits, which is not desirable
276+
fmt.Println(v.Name, " ", v.SkipDraftPRBuild)
277+
if v.SkipDraftPRBuild && pr.Draft {
278+
c.Logger.Debug("Skipping build for draft PR")
279+
return nil
280+
}
281+
}
282+
273283
return RunAndSkipJobs(c, pr, toTest, toSkip, eventGUID, elideSkippedContexts)
274284
}

0 commit comments

Comments
 (0)