From 9a91c1a24d6668d791578c7fc7fe188c44badb29 Mon Sep 17 00:00:00 2001 From: Sascha Grunert Date: Thu, 4 Apr 2024 16:01:16 +0200 Subject: [PATCH] Don't panic if next release is not set Should be usually not the case, but we skip releases from schedule-builder if the `next` field is not available now. Signed-off-by: Sascha Grunert --- cmd/schedule-builder/cmd/markdown.go | 7 ++++++- cmd/schedule-builder/cmd/markdown_test.go | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/cmd/schedule-builder/cmd/markdown.go b/cmd/schedule-builder/cmd/markdown.go index 15e8e356de68..05360818e688 100644 --- a/cmd/schedule-builder/cmd/markdown.go +++ b/cmd/schedule-builder/cmd/markdown.go @@ -173,12 +173,17 @@ func updatePatchSchedule(refTime time.Time, schedule PatchSchedule, eolBranches removeSchedules := []int{} for i, sched := range schedule.Schedules { for { + if sched.Next == nil { + logrus.Warnf("Next release not set for %s, skipping", sched.Release) + break + } + eolDate, err := time.Parse(refDate, sched.EndOfLifeDate) if err != nil { return fmt.Errorf("parse end of life date: %w", err) } - if refTime.After(eolDate) { + if refTime.After(eolDate) || sched.Next == nil { if eolFilePath == "" { logrus.Infof("Skipping end of life release: %s", sched.Release) break diff --git a/cmd/schedule-builder/cmd/markdown_test.go b/cmd/schedule-builder/cmd/markdown_test.go index ea60d5578b6a..6c817f561832 100644 --- a/cmd/schedule-builder/cmd/markdown_test.go +++ b/cmd/schedule-builder/cmd/markdown_test.go @@ -366,6 +366,9 @@ func TestUpdatePatchSchedule(t *testing.T) { EndOfLifeDate: "2025-01-01", MaintenanceModeStartDate: "2024-12-01", }, + { // next not set + Release: "1.29", + }, { // EOL Release: "1.20", EndOfLifeDate: "2023-01-01", @@ -423,6 +426,9 @@ func TestUpdatePatchSchedule(t *testing.T) { }, }, }, + { + Release: "1.29", + }, }, UpcomingReleases: []*PatchRelease{ {