-
Notifications
You must be signed in to change notification settings - Fork 39
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
Define Elemental code/release pipeline #361
Comments
The current OBS was chosen because our primary focus is on Elemental Teal. 😉 |
I created an environment in my OBS home with a setup closer to what I'd like ideally. My idea is to build three different OBS spaces:
Number 1 and 2 are fully automated, while 3. is pinned manually. The only differences between the three is the You can see an example of So in short there are four sources that the base of our release, so a release is a set of four tags of the following repositories: rancher/elemental-cli |
We really need to keep older (numbered) versions of the stable builds as well. This means that we can deal with recoveries of systems that haven't upgraded yet |
This what maintenance does by default. So any old public release will not disappear from server on further maintenance releases. |
What #400 rancher/elemental-operator#198 PRs are meant to provide in isv:Rancher:Elemental:Dev
What I don't like from this setup:
What is still missing or to be completed:
|
I believe it is not clear enough what are we releasing and how all the repositories we are managing do relate to each other.
For instance changes in Elemental-cli hit OBS, CI and Elemental-toolkit by different paths, keeping them in sync pure manual work. Specially elemental-toolkit it playing a weird role in or current setup and we tend to neglect keeping it up to date, which is not good, we gathered quite some nice tests on the base OS in there, we should take advantage of all the work done there.
Currently in OBS and on rancher/elemental CI we have something like:
While IMHO the natural way of doing it would be something like:
Elemental OS
would be an image based on the elemental-toolkit artifacts andElemental Teal
would include only the Elemental Operator on top of it plus any additional required configuration specific to Teal (mostly theframework/files
folder form this repo).The whole idea is to put back Elemental-Toolkit back into the picture so our process forces going through it. Also the
Elemental OS
image even if not officially released I believe it should exist so our Elemental Teal image is based on it as well as other Elemental related OSes could do so. In addition, I believe this also relevant work to expose to the community even it would not be strictly related to any rancher use case.The real challenge is how to map this into OBS. Currenlty in OBS the package
isv:Rancher:Elemental/elemental
includes the files fromrancher/elemental
that were copied fromrancher/elemental-toolkit
, this was done to facilitate the build in OBS at a time, but IMHO feels like a short cut.One option could be splitting the
isv:Rancher:Elemental/elemental
into two, so one pulling sources fromrancher/elemental-toolkit
and another one pulling formrancher/elemental
. Probably other options could be explored. The whole problem is having a build (or something equivalent) ofrancher/elemental-toolkit
in OBs.I believe we should try to get into a position where on merge/tag our repositories the code flow is close or similar to second diagram.
The text was updated successfully, but these errors were encountered: