release: CI builds are breaking after we stopped immediately building rc.0

Immediately after cutting the March patch releases, the ci builds started failing:

image

The error as shown in the build log shows its related to the version string:

level=info msg="Using build version: v1.25.8-1+3a14fe1af239a0"
level=fatal msg="failed to run: find latest version: build version v1.25.8-1+3a14fe1af239a0 is not valid for release"

Upon further investigation, the builds are failing because the regular expressions that check the version string don’t catch the gitCommt string without the rc.0:

👉 This is matched: v1.25.8-rc.0.31+36b707f892c523 👉 This is not matched: v1.25.8-1+3a14fe1af239a0

We only started seeing this as these are the first releases we cut after we stopped building the rc.0 immediately after tagging the repo.

More details on this slack thread in #release-ci-signal.

Thanks to @BenTheElder for reporting.

/cc @saschagrunert @kubernetes/release-engineering

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 23 (23 by maintainers)

Commits related to this issue

Most upvoted comments

for completeness, should probably merge the picks of the kube-up regex change (https://github.com/kubernetes/kubernetes/pulls?utf8=✓&q=is%3Apr+is%3Aopen+116809+-base%3Amaster), but AFAICT the presubmit breakages are resolved at this point

release branch presubmit e2e jobs passing again 😌

We could change the regex, but I think it’s not expected that version string format would change.

It’s not the format which changes, it’s just a case which we have not considered yet. I think we should fix the regex, because it looks like that it matches now incorrectly group 4 of the versionReleaseRE:

https://github.com/kubernetes/release/blob/cbd865f7f88c16cb628fd7175faec9931cc714b0/pkg/release/release.go#L61

screenshot

The last matching group (group 4) is wrongly matched in the regex, because it should be part of the versionBuildRE:

https://github.com/kubernetes/release/blob/cbd865f7f88c16cb628fd7175faec9931cc714b0/pkg/release/release.go#L62

screenshot

The assembling of the regular expressions make them fail, because in case of v1.25.8-1+3a14fe1af239a0 it’s now invalid:

https://github.com/kubernetes/release/blob/cbd865f7f88c16cb628fd7175faec9931cc714b0/pkg/release/release.go#L244