-
Notifications
You must be signed in to change notification settings - Fork 189
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
Technical concept to provide Rolling Releases for ocis #9264
Comments
I think first I need an explanation what the term "Rolling Release" should mean for in this case or in detail how it should differ from a major/minor/patch release in currently. Just to give my view: A Rolling Release for me is kind of a continuous build. So you build every day and what's on
This definition leads to my first struggle. The plan has Rolling Releases every three weeks which is a long period. So what makes this kind of release period different from a normal one? With that big timespan you can also decide at the end of the three weeks, what kind of release it should be, so depending on the changes it will be declared major, minor or patch. Regarding renovate: I don't see any big issue here as you still need to increase some number of the single packages. See e.g. Tumbleweed also still has versioned packages: https://ftp.uni-erlangen.de/opensuse/tumbleweed/repo/non-oss/noarch/. This fact also brings me to another question: What is the reasoning for oCIS? I mean this release model is usually used for software assemblies such as linux distributions where you have different components on different versions and instead of defining the combination of component |
Rolling release is defined for ocis as 3 weekly sprint artifact. please check out https://owncloud.dev/ocis/release_roadmap/ for the definition. |
Our rolling release is following semver. |
Consider it as a different „channel“ |
CX Team is asking a lot about „can we have a tag instead of latest?“ |
@wkloucek Can you post your opinion? @d7oc got a wrong impression. We want to create two different channels, both following Semver. See my little example. It means that ocis 5.0.3 is "production" and the next release on that channel would be 7.0.0 with a supported upgrade path.
|
That sounds something similar to LTS versions eg. of like Ubuntu. Except that those non-LTS version of oCIS have no (paid) support at all!? |
@tbsbdr @kulmann @dragotin @dragonchaser The challenge for the dev team would be deprecations, because they would need to span only over "production" versions. |
I think my picture answers all the questions. Are there still some left? My biggest concern was "As a vendor I want to enable andministrators to choose to which release channel they want to subscribe with their automation tools (renovate etc.) to control the risk" |
I think the release cycle described in #9264 (comment) sounds reasonable. |
Seems that we can get to an agreement. I will update the top post. |
and
sounds like a mismatch to me. |
Not the deprecation is the problem IMHO, you can deprecate variables any time, but the |
Which is kind of contradictory of keeping those LTS / production version stable. Therefore everything "disruptive" should only be done on non LTS / non production versions, right!? |
Correct, what I meant was you can deprecate variables any time in the release process after an Production version has been released, but the removal may only happen before the next Production version is released so we can define clear migration paths. |
Proposal from the meeting on 5.6.2024:
|
Concept is done. Sprint task is done. |
What about web and reva? Do we have any requirements regarding versioning of those with respect to production vs. rolling releases? |
Good question. In regards of reva I think we always need a tagged version for rolling releases. Production releases require a stable reva branch in addition. Do you have suggestions for web releases? |
Real Life ExampleA public tender uses rolling releases during the testing and acceptance phase and switches to the next production release shortly before go-live. ReasoningIf some project chooses rolling releases to be more agile, it needs to upgrade every three weeks. That is serving its purpose during early phases of a project and leverages quick turnaround times and feedback while developing new features in a efficient SCRUM flow. As soon as a project is coming closer to broader use, the platform needs to be stabilized and updates are not desired to happen too often. In addition to that, frequent patch releases are very welcome to keep up with the available bugfixes and roll updates without friction. |
Actually the same. I'd release far more often with final tags according to semver. And for the releases that are being used in an ocis production release I'd create a stable branch in web. |
Description
details on: https://owncloud.dev/ocis/release_roadmap/
Technical concept
(outcome of the work in this story)
We will provide two different docker images and upload our artifacts to the download server in two different subfolders
Docker images
Download mirors
Automation
User Stories
Value
Acceptance Criteria
Definition of ready
Definition of done
The text was updated successfully, but these errors were encountered: