Skip to content

Commit 45d968c

Browse files
committed
Require latest milestone/stage for PRR-required keps
1 parent b646eea commit 45d968c

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

pkg/kepval/approval.go

+13-14
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import (
3030
)
3131

3232
func ValidatePRR(kep *api.Proposal, h *api.PRRHandler, prrDir string) error {
33-
requiredPRRApproval, _, _, err := isPRRRequired(kep)
33+
requiredPRRApproval, err := isPRRRequired(kep)
3434
if err != nil {
3535
return errors.Wrap(err, "checking if PRR is required")
3636
}
@@ -97,38 +97,37 @@ func ValidatePRR(kep *api.Proposal, h *api.PRRHandler, prrDir string) error {
9797
return nil
9898
}
9999

100-
func isPRRRequired(kep *api.Proposal) (required, missingMilestone, missingStage bool, err error) {
100+
func isPRRRequired(kep *api.Proposal) (required bool, err error) {
101101
logrus.Debug("checking if PRR is required")
102102

103103
required = kep.Status == api.ImplementableStatus || kep.Status == api.ImplementedStatus
104-
missingMilestone = kep.IsMissingMilestone()
105-
missingStage = kep.IsMissingStage()
104+
if !required {
105+
return false, nil
106+
}
106107

107-
if missingMilestone {
108-
logrus.Warnf("Missing the latest milestone field: %s", kep.Filename)
109-
return required, missingMilestone, missingStage, nil
108+
if kep.IsMissingMilestone() {
109+
return required, fmt.Errorf("missing the latest milestone field: %s", kep.Filename)
110110
}
111111

112-
if missingStage {
113-
logrus.Warnf("Missing the stage field: %s", kep.Filename)
114-
return required, missingMilestone, missingStage, nil
112+
if kep.IsMissingStage() {
113+
return required, fmt.Errorf("missing the stage field: %s", kep.Filename)
115114
}
116115

117116
// TODO: Consider making this a function
118117
prrRequiredAtSemVer, err := semver.ParseTolerant("v1.21")
119118
if err != nil {
120-
return required, missingMilestone, missingStage, errors.Wrap(err, "creating a SemVer object for PRRs")
119+
return required, errors.Wrap(err, "creating a SemVer object for PRRs")
121120
}
122121

123122
latestSemVer, err := semver.ParseTolerant(kep.LatestMilestone)
124123
if err != nil {
125-
return required, missingMilestone, missingStage, errors.Wrap(err, "creating a SemVer object for latest milestone")
124+
return required, errors.Wrap(err, "creating a SemVer object for latest milestone")
126125
}
127126

128127
if latestSemVer.LT(prrRequiredAtSemVer) {
129128
required = false
130-
return required, missingMilestone, missingStage, nil
129+
return required, nil
131130
}
132131

133-
return required, missingMilestone, missingStage, nil
132+
return required, nil
134133
}

0 commit comments

Comments
 (0)