-
Notifications
You must be signed in to change notification settings - Fork 14
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
Automatically manage pre-release branches #916
Conversation
* get latest stable or pre-release * get all tags * get obsolete pre-releases
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
ea5541f
to
c5f5a1c
Compare
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
A k8s-snap PR automatically creates and cleans up git branches for upstream k8s pre-releases: canonical/k8s-snap#916 Here we're adding an almost identical job that picks up these git branches and prepares launchpad recipes. TODOs: * clean up obsolete pre-releases that were superseeded by a new pre-release or stable release * promote beta and rc pre-releases to the corresponding snap risk level
We need to automatically create k8s-snap branches for upstream pre-releases such as v1.33.0-alpha.1. Whenever a new pre-release or stable release comes out, the old pre-release branches become obsolete and are automatically removed. Note that these branches are used by the Launchpad recipes to produce and publish k8s-snap builds.
c5f5a1c
to
f81a49d
Compare
Instead of continuously adding/removing branches such as |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we are doing two separate things here, branch management and version updates.
Let's reuse the existing update-components
scripts and CI. I believe we don't need to create a separate workflow for this.
We only need to update the logic in the upgrade scripts to correctly determine the version if this is a pre-release version. The rest should be similar to the upgrade-components workflow, no?
@petrutlucian94 regarding your comment
We don't need |
I see. Do we keep the alpha and beta branches once the rc comes out? |
That script fetches the latest stable k8s version, we could add a parameter to get pre-releases instead and maybe have a separate step in However, we also need to sync the k8s-snap changes from the |
d4a2b14
to
5a9f249
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* use a single branch for all pre-releases of a given risk level v1.33.0-alpha.0 -> autoupdate/v1.33.0-alpha * move workflow logic to k8s_release.py
5a9f249
to
64b3864
Compare
We need to automatically create k8s-snap branches for upstream pre-releases such as v1.33.0-alpha.1.
For v1.33.0-alpha.1, we'll generate a branch called
autoupdate/v1.33.0-alpha
. This pre-release branch will be automatically deleted once the upstream stable release is published (e.g. 1.33.0).Note that these branches are used by the Launchpad recipes to produce and publish k8s-snap builds.
The new workflow will be executed nightly and whenever a patch merges on main, keeping the pre-release branches in sync with the main branch.