-
-
Notifications
You must be signed in to change notification settings - Fork 266
Other CI tools with same MQT scripts #313
Comments
Advantages of this CI? Maybe a backup? |
I would be happy to assist in this, at least on the Jenkins/Bamboo side of things. They offer much better reporting than Travis due to XML integration, which Travis has advised they will never support. Here's a comparison on vertical-medical: |
Note in order for compatibility, XMLRunner needed to be injected into the Odoo unit tests. May be considered slightly hack-y, but worth it to not have to read logs every time. |
May I suggest we focus on completing the process up to the deployment step by providing packages: OCA/maintainer-tools#156 before multiplying tools on steps we already do. |
@pedrobaeza The main advantages of integrate docker to our CI tools are:
|
This is indeed interesting, but as @max3903 says, if this something to work on, better to concentrate efforts in the already started projects. If you have already developed it, you can always present a POC to be there for anyone that wants to check it. |
@max3903 and @pedrobaeza
If you give me a access to a server I can set it to a POC real. What flexibility we have for this? |
@moylop260 We already have 2 servers running for Runbot and today their cost is fairly predictable and under control. The target of the next step/investment is to complete the deployment process with:
Pessimistic scenario: We have to host every packages on 1, 2 or 3 servers (higher cost) |
Regarding Bamboo - My team will be completing this project in order to get everything situated in our dev environments. Atlassian does offer free open source instances, so if this is something you would like to see, I will rig it up for us once we finalize everything in terms of the process (major blocker is lack of integration with Lint/Flake) |
@lasley |
Thanks - We checked that out, but the problem is that we want the full JUnit XML integration so that the lines get broken out of the logs into line items into their specific context. This is one of the major things that's been killing our productivity right now with the Travis workflow. Our Docker for the Bamboo integration replaces the standard unittest test runner with https://github.com/xmlrunner/unittest-xml-reporting in order to output to JUnit compatible format and yield fancy build results. This integration doesn't exist for Flake/Lint, so it's on our dev board to create. |
Hahaha you see my point! I will definitely share once this is all complete 😄 Jenkins does the same thing. Sad, Travis said they |
Those logs avoid the current process:
Cool feature. |
Exactly. It also allows for reporting based on the count of tests in both an aggregate sense, or by the Job (Unit, Flake, OCB, etc). Travis is a serious pain to get any sort of metrics from. |
@moylop260 We should read the standard because I think it is what Odoo - Runbot do in the logs link (as usual without standard). And creat a new controller which shows such report ino runbot itself can give both worlds... No new CI but Correct and better standarized output. |
Integration into Runbot was exactly what we truly want too! It's really just a matter of parsing the XML output, then displaying it nicely. The spec is actually rather small, I just really suck at design - http://windyroad.com.au/dl/Open%20Source/JUnit.xsd |
(The Quarantined and Skipped voodoo is all Bamboo though, it's pretty smart about which errors it shows you) |
my friend @max3903 I think packages are "Ok", but that's not the only correct way to go for. I think because the size of what we are doing git + ci is the correct way to go for in terms of better community management in terms of effectivity. |
Hi! I completely agree that the test output that odoo produces is really too IMHO, this can be reasonably made much better without moving away from text At the moment, the internal odoo test runner tries to convert output to Some time ago I tried to just delete that code and make the test runner You can get even better text output running the existing tests with nose This is already much more understandable IMO. I think the compact output, In MQT I get the impression we do again the same thing: we parse again, My problem with XML reporting is that it depends on an application to see Thanks! On Thu, Feb 11, 2016 at 9:27 PM, Dave Lasley [email protected]
|
You're definitely right that we should start with sane results, then expand upon that. IMO the Runbot log page is more of a hinderance than a help when there are a large amount of errors due to the way that it is presented. What were the results of your testing in the linked branch? Seems like the code there should work. |
@lasley you get the standard output from the |
@moylop260 IMO, it would be nice to refactor MQT into a set of pip installable standalone scripts that can be launched in any python env. MQT has been designed to closely work with Travis but lack of a proper packaging and genericity. For exemple, I've refactored the way we install the server an run tests into a single python command https://github.com/lmignon/buildbot-utils . This experimental refactoring let's us run the installation of an odoo server and run tests the same way as in travis in buildbot or on our own computer with a simple command:
test
@lasley @lepistone I share your concern on the test ouptut that odoo produce. I've done some experiments to replace the test runner hardcoded by odoo by the XmlTestRunner (https://code.launchpad.net/~acsone-openerp/openobject-server/7.0-xml-test-report). Others experiment exists from anybox to at least display a well formatted summary at the end of the log when running tests (http://bazaar.launchpad.net/~anybox/ocb-server/7.0-test-report/revision/5253)
But, even if we were able to specify the class to use as test runner, it remains a problem that Odoo creates a test suite by module. In the case where multiple modules are to be tested, we must aggregate results to determine the final result of all the tests. |
You're right @lmignon: I was forgetting that point. So maybe there is a point in aggregating results. Unsure how we can avoid parsing output though (which I was hoping to avoid). |
I feel like the answer lies in monkey patching the |
@lmignon You are right, I mentioned that some moths ago and propose use the cookiecutter template which comply the very well documented "Open Source In the right Way Strategy". I think it means 2 things.
I totally agree with you in terms of packaging, in the only point I fear a little is in the "split" part in several scripts, I think we even should join mqt and mt only 1 pacakage for everything, but that is another topic even. |
FYI the Proof-Of-Concept (POC) of http://runbot.vauxoo.com:58069/runbot You feedback is welcome. NOTE: The workers and builds are numbers very short just for POC and you will need add manually |
I have created a video that shows how to install and use Runbot with runbot_travis2docker module. I hope this video helps to understand how this module works. |
Closing this old discussion. Any news or advanced will be discussed in the proper PR. |
FYI this issue finish since that @gurneyalex told us that now oca runbot server has installed runbot_travis2docker Thanks @gurneyalex for the great work in the OCA server runbot to migrate and deploy this one. |
Hello, today I saw a good blog (thanks to @lasley) to integrate Bamboo as CI tools with the same script of MQT.
Vauxoo is using runbot_travis2docker in our runbot (We have ssh connection to a particular build feature here).
All them with docker technology.
I want to open the discuss to implement other CI for OCA and implement runbot with docker.
What do you think?
NOTE: We don't need add nothing to our projects because the magic is created from MQT, travis2docker and
.travis.yml
and this tools existing just is join the puzzle.The text was updated successfully, but these errors were encountered: