Thursday, February 16, 2017

Repairing failures on Travis

Tonis and I released Atelier 1.0.5. Mainly for some subtle issues with Python 3 which caused failures on Travis.

Tonis asked me whether I can see an explanation for the failing voga build 78. Indeed a surprising effect. It looks as if the numbering of some invoices were different on Travis than on my machine.

We added a list of all invoices to the The lino_voga.lib.sales plugin document which lead to build 79 on travis This is where Tonis had to leave.

Looking at this failure made me guess a probable reason for this failure: lino_voga.lib.courses.models.Enrolment.get_invoiceables_for_plan() (i.e. the get_invoiceables_for_plan implementation of an Enrolment) sorted the suggestions only by date. And the demo data has cases with more than one suggestion on a same day, so the ordering was unpredictable in these cases. So I was exited after the commit (that’s one of the psychological challenges when fixing a failing travis build: you need to wait more than a minute before seeing the result. But after 5 min 17 sec: yes!

I can imagine that Tonis had no chance of finding this because he knows not enough about what Voga does.

Maybe we should organize a Vigala Code Camp : a whole day just for an in-depth Lino Voga end-user training. I would also invite Jüri and maybe some non-programmers who might be interested in Voga.

Some subtle documentation issues

There was at least one circular references in our doctrees: book referred to some project doctrees (presto, extjs), but cosi referred to book. Should The Lino Book be able to refer to Lino Così? Or rather the other way round? I think the latter.

Note that this blog “knows” all projects, can refer to them. That’s why it must build last.

Code change: atelier.sphinxconf.interproject.configure() now has a new optional parameter prjspec. This is used by book because we want it to intersphinx only to atelier.