plone / papyrus

A buildout to run multiple versions of the plone documentation
GNU General Public License v2.0
8 stars 7 forks source link

Discussion: separate out robot-screenshots #127

Open polyester opened 7 years ago

polyester commented 7 years ago

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.

svx commented 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.

MrTango commented 7 years ago

I like the idea of separating the screenshot generation. Also because of problem combining the robotframework code with the spinx code see: #129.

svx commented 7 years ago

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 ?

gforcada commented 7 years ago

Yes I can have a look, where are the robot tests now? In Cmfplone? Is there a special way to trigger them?

polyester commented 7 years ago

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.

polyester commented 7 years ago

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