Open polyester opened 7 years ago
I wrote more or less the same.
Also, I have a almost flawless working papyrus 1.5 alpha 0.0.1.
Besides a good solution for robot-screen-shots all what is over to fix is a better coala setup, which should be painless easy once there is a new coala release, since I do not want to use pre
releases for production.
The other thing to test more, is a new script which checks you commit and runs checks against included .rst files, if there any. I am testing and tweaking that currently in production at my day job, there are still some hick-ups and bumps but it is getting better.
Building and deploying docs is done via CI, meaning if tests are passing a new docker container will be build, tagged, pushed to a registry and automatically deployed to the host server. Here we use a 'green-blue' proxy to move all open connections over to the new container,stop and remove the old one. Since the old one is still in our registry we alway can do a rollback if we need. A point to think of is proper tagging.
This is maybe the overkill and we do not need to transfer the connections, but well, I like playing with it. I use that setup since a couple of month in production and its working well so far.
I like the idea of separating the screenshot generation. Also because of problem combining the robotframework code with the spinx code see: #129.
We did it for the docs ! Done here, but this still needs to be setup on Jenkins @polyester @gforcada can you have a look when you have time ?
Yes I can have a look, where are the robot tests now? In Cmfplone? Is there a special way to trigger them?
they live at https://github.com/plone/Products.CMFPlone/tree/master/Products/CMFPlone/tests/robot/robodoc, the easiest way to trigger them is from a full buildout.coredev instance where you run bin/pybot -v BROWSER:phantomjs src/Products.CMFPlone/Products/CMFPlone/tests/robot/robodoc
(when using phantomjs as the browser). I'll be experimenting with headless Chrome as a driver, but phantomjs works well.
The idea is that we don't run them at every jenkins run, because they are expensive/long to run, but let's say once a week (in the future), and then the results get pushed into https://github.com/plone/documentation-roboshots
The generating of robot-screenshots is nice, but it is also very fragile, and is hindering upgrades. See also https://github.com/plone/papyrus/issues/118#issuecomment-263045817
So, the question is if it would be a better idea to separate them out into a separate test-suite; that would only depend on Plone, not Sphinx. The resulting screenshots could then be uploaded into a repository, and the screenshots pulled in as just that, static images, for the docs. As far as Sphinx is concerned, they are just a bunch of images in a folder.
Advantages:
Disadvantages, or points to take care of:
As said: this is a proposal up for discussion.
I'm looking for a way to keep the advantages of robot-screenshots, while getting around the significant disadvantages we have seen.