-
Notifications
You must be signed in to change notification settings - Fork 51
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
Support repos with conflicting addons #36
Comments
This is due to modules having the excludes key in the manifest. runbot did handle that by parsing the travis configuration (via travis2docker) and retaining only the configuration for the first job, therefore takiing into account the INCLUDE/EXCLUDE variables. Parsing the CI config in runboat is definitely not an option. I currently think about two approaches to handle this:
Approach 1 sounds hard to implement (well not that hard, but requires some graph analysis wizardry that should go into manifestoo) Approach 2 first requires supporting multiple builds for a single commit. There is an embryo of that, since the build settings is a list. There might be other approaches. Not sure what's best. |
What was the process in runbot ? Shouldn't we in that case see case by case if those kind of modules should be in separate repos (but there can be limitations)? |
Have you read what I wrote ? runbot did handle that by...
That is another option, but incompatible modules in the same repo is moderately frequent in OCA, even if they are not explicitly declared as such in their manifests. |
Missed that part 😶🌫️ |
Haven't follow that much CI OCA improvement last few years, @sbidoul does the goal of runboat to replace runbot and travis ? I've the feeling that things are tested twice ! A bad option could be to ignore some modules (at least in the mean time)... but this will open the doors of bike-shading ! Matrix build defined in config file seems a nice improvement that could be used for other purpose ! Wondering if there are an easy things to do in the mean time to leave Green PR in the mean time in such case ? |
The goal was to replace only runbot as it was quite difficult to maintain and was based on non-standard flows. Travis will remain obviously for tests |
Runboat is not for running tests. Only installation for manual testing. Travis is being replaced by GitHub actions for running tests and linters. |
Oh sorry haven't takes time to deep into details this happens while installing modules 🤔 And my proposal is some how what runbot is doing today with explicit configuration which you would like to avoid as far I understand ! Thanks for details and all massive works, I've to investigate more to tell something clever on the topic sorry for the nose ! |
@petrus-v no worries! I hope I did not come across as dismissive, it certainly was not my intent. |
If we decide to implement a Also the matrix would need to be combined with build settings names to create build names. The names will need to be short enough to reasonably fit in the build cards in the UI. |
I don't feel you were dismissive :). You are very patient and I'm amazed with all you're doing. |
In order to replace definetly runbot by runboat, those questions need to be explored as the current implementation is failing when conflict occurs (even if splitting modules in specific repositories could be a solution, but not universal and time consuming). |
@rousseldenis or conflict modules can be put in different repos. Besides sale-workflows, are there other places where runboat fails due to this ? |
I'm not aware of but don't have sight everywhere 😅 |
Ok, let us see. As as long as it affects only one repo, my motivation to do this complex change is fairly low. |
I believe that there are some repos like account-analytic where there are exclude rules in travis (not declared as rebel module in copier) for unit-test there is no issue while installing both modules on the instance but I expect using runboat odoo will failled at some point having modules not compatible. Not sure who is using runboat and how it is a matter, I guess few people will lose time trying to understand some modules are not compatible ? my 2cts ! |
|
OK thanks for this analyze. What is the situation now ?
There is no duplicate information; nice ! @sbidoul Could runboat use If yes, first Stéphane's approach is possible I suppose. Did I forgot something ? |
I want to avoid coupling runboat with unrelated configuration files such as A The OCA copier template could then populate that with the list of all rebel modules. I'd welcome a PR exploring that approach. |
Thanks @sbidoul. |
One thing that maybe easy to implement and generic at the same time is to let runboat-initialize.sh and runboat-start.sh source And then update oca/oca-addons-repo-template to generate |
I've hit this bug today in OCA/project#1101. Keeping in mind the proposal at #94, we could tell runboat to always generate "base" and "all" databases, but we could tell the repo template that, if there are rebel modules, somehow it should tell runboat to skip the "all" database. |
Finally it seems Moreover it could be appreciate to have en empty db to only install the use case that you want without a bloated UI. I don't dare to propose to only have an empty db because it's an radical change but it could have advantages :
Then to summarize 1/ add additional runboat install with Any of these choices are convenient for me, but I think we should move because I'm blocked here OCA/stock-logistics-workflow#1271 Thanks a lot |
I won't have much time to work on this in the coming weeks, but if anyone wants to contribute I'll be happy to help at the OCA Days sprint in Liège. At this point I have a preference for #94 and its associated draft PR rather than |
Ok, nice I haven't seen #95. Thanks for that. As I understand your code if we merge it in this state, we always have db initialized Thanks a lot |
Note that even today, a red runboat is not blocking merge. It just means the PR is not testable on runboat.
Oh, too bad. |
https://runboat.odoo-community.org/api/v1/builds/b552cf370-23e2-4ce6-b081-f2a76e741cc9/init-log
All runboat builds are failing on 14.0 branch in sale-workflow.
@sbidoul @lmignon
The text was updated successfully, but these errors were encountered: