diff --git a/tools/release_do_nothing.py b/tools/release_do_nothing.py index b370b788f9..f3e95eb4af 100755 --- a/tools/release_do_nothing.py +++ b/tools/release_do_nothing.py @@ -60,6 +60,7 @@ def get_steps(cls) -> list[typing.Callable[..., None]]: cls.update_links, cls.bluesky_announce, cls.merge_back, + cls.next_release, ] def get_github_user(self): @@ -958,6 +959,47 @@ def merge_back(self): ) self.wait_for_done(message) + def next_release(self): + if not self.release_type == self.ReleaseTypes.PATCH and not self.is_release_candidate: + self.print("Prep next release ...") + + message = ( + "Confirm that there is a release manager in place for the " + "next minor (or major) release." + ) + self.wait_for_done(message) + + message = ( + "Confirm that the next release manager has set up a " + "milestone for their release.\n" + "https://github.com/SciTools/iris/milestones" + ) + self.wait_for_done(message) + + message = ( + "Confirm that the next release manager has set up a " + "discussion page for their release.\n" + "https://github.com/SciTools/iris/discussions/categories/releases" + ) + self.wait_for_done(message) + + message = ( + "Confirm that the next release manager has arranged " + "some team development time (e.g. sprints) for " + "delivering Iris improvements in their release.\n\n" + "The UK Met Office has some Confluence guidance for this." + ) + self.wait_for_done(message) + + message = ( + "Remind the next release manager about the importance " + "of regularly championing their release (e.g. during " + "Peloton meetings).\n\n" + "Relying solely on a few focussed weeks cannot deliver " + "many improvements." + ) + self.wait_for_done(message) + if __name__ == "__main__": IrisRelease.main()