Skip to content

Commit 294c966

Browse files
committed
feawt(scripts/coderversion): emit OLDSTABLE version
1 parent 86ca17f commit 294c966

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

scripts/coderversion/main.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,38 @@ func main() {
6464

6565
stable := fmt.Sprintf("v%d.%d.%d", stableVer.Major(), stableVer.Minor(), stableVer.Patch())
6666
_, _ = fmt.Fprintf(os.Stdout, "CODER_STABLE_VERSION=%q\n", stable)
67+
68+
expectedOldStableMinor := mainlineVer.Minor() - 2
69+
if expectedOldStableMinor < 0 {
70+
expectedOldStableMinor = 0
71+
}
72+
debug("expected old stable minor: %d\n", expectedStableMinor)
73+
oldStableVer := semver.MustParse("v0.0.0")
74+
for _, rel := range releases {
75+
debug("check version %s\n", rel)
76+
if rel == "" {
77+
debug("ignoring untagged version %s\n", rel)
78+
continue
79+
}
80+
81+
ver, err := semver.NewVersion(rel)
82+
if err != nil {
83+
debug("skipping invalid version %s\n", rel)
84+
}
85+
86+
if ver.Minor() != expectedOldStableMinor {
87+
debug("skipping version %s\n", rel)
88+
continue
89+
}
90+
91+
if ver.Compare(oldStableVer) > 0 {
92+
oldStableVer = ver
93+
continue
94+
}
95+
}
96+
97+
oldStable := fmt.Sprintf("v%d.%d.%d", oldStableVer.Major(), oldStableVer.Minor(), oldStableVer.Patch())
98+
_, _ = fmt.Fprintf(os.Stdout, "CODER_OLDSTABLE_VERSION=%q\n", oldStable)
6799
}
68100

69101
type release struct {

0 commit comments

Comments
 (0)