Skip to content

Commit 933e897

Browse files
committed
Improve version conditionals
1 parent 051ce1f commit 933e897

1 file changed

Lines changed: 14 additions & 6 deletions

File tree

pkg/dockerfilegen/generator.go

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ const (
4040
ocClientArtifactsBaseImage = "registry.ci.openshift.org/ocp/%s:cli-artifacts"
4141
// See https://github.com/containerbuildsystem/cachi2/blob/3c562a5410ddd5f1043e7613b240bb5811682f7f/cachi2/core/package_managers/rpm/main.py#L29
4242
cachi2DefaultRPMsLockFilePath = "rpms.lock.yaml"
43+
44+
RHEL8 = "rhel-8"
45+
RHEL9 = "rhel-9"
4346
)
4447

4548
var (
@@ -162,19 +165,24 @@ func generateDockerfile(params Params, mainPackagesPaths sets.Set[string]) error
162165
metadata = project.DefaultMetadata()
163166
}
164167

165-
rhelVersion := "rhel-9"
168+
rhelVersion := RHEL9
166169
if metadata.Project.Tag != "" {
167170
// tag before knative-v1.17
168171
minorVersion, err := strconv.Atoi(strings.Replace(metadata.Project.Tag, "knative-v1.", "", 1))
169172
if err != nil {
170173
if minorVersion < 17 {
171-
rhelVersion = "rhel-8"
174+
rhelVersion = RHEL8
172175
}
173176
}
174177
} else {
175178
// version before 1.37+
176-
if metadata.Project.Version == "1.36.1" || metadata.Project.Version == "1.35.1" {
177-
rhelVersion = "rhel-8"
179+
if metadata.Project.Version != "" {
180+
semVer := semver.New(metadata.Project.Version)
181+
if semVer != nil {
182+
if semVer.Minor < 37 {
183+
rhelVersion = RHEL8
184+
}
185+
}
178186
}
179187
}
180188

@@ -264,7 +272,7 @@ func generateDockerfile(params Params, mainPackagesPaths sets.Set[string]) error
264272
var dockerfileTemplate embed.FS
265273
var rpmsLockTemplate *embed.FS
266274
if params.RpmsLockFileEnabled {
267-
if rhelVersion == "rhel-8" {
275+
if rhelVersion == RHEL8 {
268276
rpmsLockTemplate = &RPMsLockTemplateUbi8
269277
} else {
270278
rpmsLockTemplate = &RPMsLockTemplateUbi9
@@ -275,7 +283,7 @@ func generateDockerfile(params Params, mainPackagesPaths sets.Set[string]) error
275283
dockerfileTemplate = DockerfileDefaultTemplate
276284
case FuncUtilDockerfileTemplateName:
277285
dockerfileTemplate = DockerfileFuncUtilTemplate
278-
if rhelVersion == "rhel-8" {
286+
if rhelVersion == RHEL8 {
279287
rpmsLockTemplate = &RPMsLockTemplateUbi8
280288
} else {
281289
rpmsLockTemplate = &RPMsLockTemplateUbi9

0 commit comments

Comments
 (0)