Skip to content

Proposal Release Updates #842

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

varodrig
Copy link
Contributor

@varodrig varodrig commented Mar 25, 2025

This PR proposes updates to the Kubeflow Release process

Closes #841

Signed-off-by: varodrig <[email protected]>
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign franciscojavierarceo for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Signed-off-by: varodrig <[email protected]>
@google-oss-prow google-oss-prow bot added size/M and removed size/L labels Mar 25, 2025
@google-oss-prow google-oss-prow bot added size/L and removed size/M labels Mar 31, 2025
Signed-off-by: varodrig <[email protected]>
Signed-off-by: varodrig <[email protected]>
@varodrig varodrig marked this pull request as ready for review March 31, 2025 21:30
@varodrig
Copy link
Contributor Author

We need feedback/comments/approval on this proposal. Since release 1.10 is finished and we need to start planning for next release.

Thanks,
CC
@juliusvonkohout @franciscojavierarceo @andreyvelich @tarilabs @tarekabouzeid @thesuperzapper

@thesuperzapper
Copy link
Member

@andreyvelich and @kubeflow/kubeflow-steering-committee wanted to discuss this as it will significantly impact the project, and we probably need to agree on what the future of "Kubeflow Platform" is before we commit to a quarterly release cycle for it.

/hold

@tarekabouzeid
Copy link
Member

Thanks @varodrig this looks good, a suggestion maybe is that the liaisons be responsible for technical documentation for each WG instead of separate role for technical writer.

@varodrig
Copy link
Contributor Author

@andreyvelich and @kubeflow/kubeflow-steering-committee wanted to discuss this as it will significantly impact the project, and we probably need to agree on what the future of "Kubeflow Platform" is before we commit to a quarterly release cycle for it.

/hold

Let's see if we can start with some of the initiatives.

Comment on lines +75 to +76
- WG leads from each component (ex., Pipelines) must approve a synchronized PR on the Kubeflow Platform/Manifests when related to that component
- WG leads from each component (ex., Pipelines) must approve a PR when updates regarding each component on the Kubeflow Platform/Manifests.
Copy link
Member

@juliusvonkohout juliusvonkohout Apr 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- WG leads from each component (ex., Pipelines) must approve a synchronized PR on the Kubeflow Platform/Manifests when related to that component
- WG leads from each component (ex., Pipelines) must approve a PR when updates regarding each component on the Kubeflow Platform/Manifests.

It should be an automatic continuous process. We rely on efficient automatic testing, not slow manual approvals.

![alt text](release.png)

* Notes: Release dates will not be changed unless critical changes are needed.
Week 9 is code freeze. However, the working groups can use that week to finish any outstanding feature critical for the release.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Week 9 is code freeze. However, the working groups can use that week to finish any outstanding feature critical for the release.

We want to get away from the waterfall modell. Our automatic testing is the agile solution and successor to code freeze

Comment on lines +88 to +101
### Implementation -todo update release team
* Week 0 - (Release and Roadmap discussions) WG Leads and Release Manager meet to discuss the roadmap planned for the Release
* Week 2 - (Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting)
* Week 4 - (Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting)
* Week 6 - (Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting)
* Week 8 - (Last week of Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting). Exceptional cases: Discuss any feature that needed to be completed during the feature freeze.
* Week 9 - (Feature Freeze and Prep for Release) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting). Discuss items required to prepare for Release (including documentation).
* Week 10 - (Community and Distribution testing starts) -Sync manifests happen at least the day before. Include Distribution liasions and release team to confirm release testing starts and bug fixing follows.
* Week 11 - (Bug Fixing) - Discuss any potential blockers for the Release.
* Week 12 - (Release) - Items to discuss: bug fixes required, release cut, documentation needed.
- Release Manager synchronizes and cuts the release on Kubeflow Platform/Manifests.
- WG leads from each component (ex., Pipelines) must approve a synchronized PR on the Kubeflow Platform/Manifests when related to that component
- WG leads from each component (ex., Pipelines) must approve a PR when updates regarding each component on the Kubeflow Platform/Manifests.
- The Release Manager is responsible for approving/reviewing the blog and slides announcing the release.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Implementation -todo update release team
* Week 0 - (Release and Roadmap discussions) WG Leads and Release Manager meet to discuss the roadmap planned for the Release
* Week 2 - (Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting)
* Week 4 - (Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting)
* Week 6 - (Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting)
* Week 8 - (Last week of Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting). Exceptional cases: Discuss any feature that needed to be completed during the feature freeze.
* Week 9 - (Feature Freeze and Prep for Release) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting). Discuss items required to prepare for Release (including documentation).
* Week 10 - (Community and Distribution testing starts) -Sync manifests happen at least the day before. Include Distribution liasions and release team to confirm release testing starts and bug fixing follows.
* Week 11 - (Bug Fixing) - Discuss any potential blockers for the Release.
* Week 12 - (Release) - Items to discuss: bug fixes required, release cut, documentation needed.
- Release Manager synchronizes and cuts the release on Kubeflow Platform/Manifests.
- WG leads from each component (ex., Pipelines) must approve a synchronized PR on the Kubeflow Platform/Manifests when related to that component
- WG leads from each component (ex., Pipelines) must approve a PR when updates regarding each component on the Kubeflow Platform/Manifests.
- The Release Manager is responsible for approving/reviewing the blog and slides announcing the release.
### Implementation -todo update release team
* Week 0 - (Release and Roadmap discussions) WG Leads and Release Manager meet to discuss the roadmap planned for the Release
* Week 2 - (Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting)
* Week 4 - (Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting)
* Week 6 - (Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting)
* Week 8 - (Last week of Software development Phase) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting)
* Week 9 - (Feature Freeze and Prep for Release) WG Leads/Liaisons meet to discuss any release challenges, release changes, and help needed from the community (to communicate on Kubeflow Community Meeting). Discuss items required to prepare for Release (including documentation).
* Week 10 - (Community and Distribution testing starts) Users and distributions run their automated test suites and try to stay away from manual labor-intensive tests.
* Week 11 - (Bug Fixing) - Discuss any potential blockers for the Release.
* Week 12 - (Release) - Items to discuss: bug fixes required, release cut, documentation needed.
- Manifests WG leads synchronizes and cut the release on Kubeflow Platform/Manifests.
- The Release Manager is responsible for approving/reviewing the blog and slides announcing the release.

Comment on lines +79 to +85
### Release Manager Responsibilities:
- Responsible for the overall Kubeflow Release Process
- Promote best practices for the release and software development process.
- Manage the communication between the teams to understand current release status and potential blockers
- Manage the communication with the community about the status of the Release or any help/blockers needed.
- Synchronize and cut the Release on Kubeflow Platform/Manifests.
- Approve & review the blog and slides announcing the Release.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Release Manager Responsibilities:
- Responsible for the overall Kubeflow Release Process
- Promote best practices for the release and software development process.
- Manage the communication between the teams to understand current release status and potential blockers
- Manage the communication with the community about the status of the Release or any help/blockers needed.
- Synchronize and cut the Release on Kubeflow Platform/Manifests.
- Approve & review the blog and slides announcing the Release.
### Release Manager Responsibilities:
- Responsible for the overall Kubeflow Release Process
- Promote best practices for the release and software development process.
- Manage the communication between the teams to understand current release status and potential blockers
- Manage the communication with the community about the status of the Release or any help/blockers needed.
- Approve & review the blog and slides announcing the Release.


### Goals

* Reduce time to market of Kubeflow Release
Copy link
Member

@juliusvonkohout juliusvonkohout Apr 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Reduce time to market of Kubeflow Release
* Cut down the release handbook by 70 %
* Replace the the manual bureaucratic process and overhead and human hours needed by an an automation first approach
* Move away from the Waterfall model to an agile model that relies on automated tests instead of human labor.
* Reduce time to market of Kubeflow Release, by being able to release at any time

varodrig and others added 2 commits April 18, 2025 08:59
Co-authored-by: Julius von Kohout <[email protected]>
Signed-off-by: Valentina Rodriguez Sosa <[email protected]>
Co-authored-by: Julius von Kohout <[email protected]>
Signed-off-by: Valentina Rodriguez Sosa <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Propose Release Process Updates
4 participants