[python-committers] Travis-CI compiles twice

Nick Coghlan ncoghlan at gmail.com
Mon Jul 24 09:48:17 EDT 2017


On 24 July 2017 at 18:55, Victor Stinner <victor.stinner at gmail.com> wrote:
> 2017-07-24 9:37 GMT+02:00 Serhiy Storchaka <storchaka at gmail.com>:
>> `make regen-all` touches header files which are dependencies for all
>> binaries. I suggest to run `make regen-all` before `make`.
>
> Zachary Ware explained me once that "make regen-all" should be run
> after "make", but I don't recall why :-)

Some of the generators (including Argument Clinic) are themselves
written in Python, so building the checked in version first is the
only way to be 100% sure you have a compatible version available.

As Serhiy notes, the robust fix is to make sure the generators leave
the file modification times unchanged if they don't actually change
anything, either by working entirely in memory and only writing the
result back out if it changed, or by generating out-of-place and then
doing either a rename (if the result changed), or deleting the new one
(if it is the same as the original).

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the python-committers mailing list