prow icon indicating copy to clipboard operation
prow copied to clipboard

Enhance `testfreeze` plugin to include Code Freeze

Open saschagrunert opened this issue 3 weeks ago • 5 comments

The testfreeze plugin mentions that a PR is being created during Test Freeze with a link to the automatic branch Fast Forward:

https://github.com/kubernetes-sigs/prow/blob/e3ae8cf22a59dce06665a4eec8ed70d14c276c77/pkg/plugins/testfreeze/testfreeze.go#L38

Side by side to Test Freeze (release branch creation happened) we also have Code Freeze:

freezes

We could extend the plugin to mention that we're in Code Freeze right now and a milestone maintainer from the corresponding SIG has to add that milestone. Also pinging the Release Managers or the whole SIG Release team to be aware of that PR.

Per documentation:

The Exception approval is the responsibility of the SIG or SIGs labeled in the pull request. The release team may intervene or deny the request only if it poses a risk to release quality, or could negatively impact the overall timeline.

Also: https://github.com/gracenng/sig-release/blob/master/release-team/README.md#milestone-maintainers

cc @kubernetes-sigs/release-engineering

It also refers to:

  • https://github.com/kubernetes/sig-release/pull/2668
  • https://github.com/kubernetes/website/pull/48833

saschagrunert avatar Nov 26 '25 09:11 saschagrunert

We could extend the plugin to mention that we're in Code Freeze right now and a milestone maintainer from the corresponding SIG has to add that milestone.

According to https://kubernetes.io/releases/release/#milestone-maintainers, the milestone maintainer from the SIG must not just add the milestone. They have to get approval from the "Release Team Lead" first. Before we change the plugin, can we clarify how that approval is meant to be obtained and include that in the plugin's message?

pohly avatar Nov 26 '25 09:11 pohly

Pointing contributors to https://github.com/orgs/kubernetes/teams/milestone-maintainers would be problematic:

  • Contributors wouldn't know whom to pick (it's a long list, with no SIG affiliation).
  • If they pick the wrong person, that person might set the milestone without consulting with SIG Release first. It has happened, which is why https://github.com/kubernetes/sig-release/pull/2668 was added.

pohly avatar Nov 26 '25 09:11 pohly

@pohly good points! So the plugin comment should mention that:

  • SIG Release approval is required first (by interacting with the PR)
  • Approval from the corresponding SIG is required as well

In theory we could also think about the plugin validating those constraints and managing the milestone label, but that may be too much for now.

saschagrunert avatar Nov 26 '25 09:11 saschagrunert

Approval from the corresponding SIG is required as well

That's not specific to code freeze, but doesn't hurt to call out. I would reorder the two points (first lgtm/approve from SIG, second milestone from SIG Release).

We still need to define how to alert SIG Release (cc <someone> and/or Slack on #sig-release?).

pohly avatar Nov 26 '25 11:11 pohly

Posting requests in #sig-release is generally the way to go. Given that the Release Team sets up the new group of leadership every cycle, tagging @sig-release-leads in Slack specifically would alert the Release Team Lead and their supporting leadership.

drewhagen avatar Nov 27 '25 00:11 drewhagen

/kind feature /area plugins

petr-muller avatar Dec 01 '25 16:12 petr-muller

/reopen

According to https://github.com/kubernetes-sigs/prow/pull/558#issuecomment-3610818559 the change should have been deployed two days ago in https://github.com/kubernetes/test-infra/pull/36014, but recent PRs still only mention "test freeze" and none of the new hints about getting the milestone (example).

pohly avatar Dec 05 '25 08:12 pohly

@pohly: Reopened this issue.

In response to this:

/reopen

According to https://github.com/kubernetes-sigs/prow/pull/558#issuecomment-3610818559 the change should have been deployed two days ago in https://github.com/kubernetes/test-infra/pull/36014, but recent PRs still only mention "test freeze" and none of the new hints about getting the milestone (example).

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

k8s-ci-robot avatar Dec 05 '25 08:12 k8s-ci-robot

/assign @saschagrunert

pohly avatar Dec 05 '25 08:12 pohly

I guess hook needs to get updated which wasn't the case in https://github.com/kubernetes/test-infra/pull/36014. Let me investigate.

saschagrunert avatar Dec 05 '25 08:12 saschagrunert

I guess we need to get this in https://github.com/kubernetes/k8s.io/pull/8744

saschagrunert avatar Dec 05 '25 08:12 saschagrunert