[Vm-dev] why are the builds cancelled

Eliot Miranda eliot.miranda at gmail.com
Tue Mar 20 18:29:17 UTC 2018


Hi Ben,  Hi All,

On Tue, Mar 20, 2018 at 3:45 AM, Ben Coman <btc at openinworld.com> wrote:

>
>
>
> On 19 March 2018 at 22:48, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>
>>
>> Hi Tobias,
>>
>> > On Mar 19, 2018, at 1:38 AM, Tobias Pape <Das.Linux at gmx.de> wrote:
>> >
>> >
>> > Hi,
>> >
>> >> On 19.03.2018, at 01:56, Eliot Miranda <eliot.miranda at gmail.com>
>> wrote:
>> >>
>> >> Hi,
>> >>
>> >>    Travis isn't building new commits and I don't know why.  Can
>> someone update the README.md for opensmalltalk/vm with a pointer to an
>> overview of the Travis CI infrastructure so that someone could work out why
>> things aren't working?
>> >
>> >
>> > Things are working ;)
>> > What happens is: we're using build stages to minimize load on travis
>> and to get faster feedback.
>> >
>> > Let's take this as an example:
>> >    https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/builds/
>> 354870586
>> >
>> > We currently have four stages:
>> > - Linux builds
>> > - Mac builds
>> > - Stack builds
>> > - Linux32armv6 builds
>> >
>> > Each stage will only start iff the previous stage completed
>> successfully, essentially saying "if those builds did not run, don't even
>> bother looking at me"
>> >
>> > So, since the Linux builds did not complete all (in fact, only one
>> did), all subsequent stages are ignored.
>> >
>> > This actually ensures that we get swifter response, as later builds are
>> more likely to run.
>> >
>> > Does that help?
>>
>> Yes, but... :-). Forgive the "but".  The issue is I had to ask and
>> couldn't work it out myself.  What would really help would be a paragraph
>> in README.md that gives an overview of the build slave and of bintray.
>> Something like
>>
>> "The various VMs are built and tested using Travis CI at ...  Successful
>> builds are uploaded to bintray for download at... The tests determining a
>> "successful build" are...
>>
>> I wrote the initial draft of README.md and now I find it too chatty and
>> not well laid out.  Much of my content could be relegated to a "VM Source
>> Generation" subsection and the intro could be firmed up and aimed at the
>> general reader.  What I'm saying is that if someone does edit README.md to
>> include pointers to the CI build pipeline, they shouldn't be afraid of
>> improving the overall structure of README.md.
>>
>> On a related note, README.md is buried in a long list of top level
>> directories.  Personally, keeping the directory hierarchy relatively flat
>> helps me when fixing things.  Often one is in a build directory and it's
>> nice to avoid an additional ../.  And of course changing the layout means
>> fixing not just makefiles, but the autoconf stuff in platforms/unix/conf
>> and Travis stuff and the VMMaker source and...  and making this change just
>> to make README.md more prominent seems like putting the cart before the
>> horse, the tail wagging the dog, etc.  so one simple layout change would be
>> to move all the build.*, *src,  platforms, processors, .third-party stuff
>> down into a directory (software?).  Or do people feel strongly that it
>> should be reorganised, e.g. as
>>
>>        src/
>>            plugins/
>>            spur/
>>            spur64/
>>            v3/
>>        build/
>>            linux32ARMv6
>>            ...
>>
>> I'm for as little busy work as possible.  But recognize that README.md is
>> an important portal on the project, so it needs to be prominent and well
>> laid out, a principle reader being the first-time reader trying to work out
>> how to get at builds or to start building their own.
>
>
> From the sideline peanut gallery... the "build*" folders are not so bad
> since there are not so many of them, and they advertise what platforms are
> supported,
> but the plethora of "*src*" directories is distracting, particularly with
> the explosion from sista/lowcode/32bit/64bit variants.  If they were all
> organised under a folder, would you consider also naming that parent folder
> "gensrc" or "src.gen" or similar to make it explicit for newcomers that
> these are generated sources.  A README in that folder might describe how
> the sources are generated.
>

I like this idea.  So we would have the src tree as described above.  So if
we change this what is impacted?  here's a partial list.  Can people please
add to the list?

all makefiles under build, (and those generated by platforms/unix/config
scripts)
some of the platforms/unix/conf generation stuff, in particular
platforms/unix/config/configure.ac
README.md
VMMaker generation specifications in VMMaker.oscog

Others?  (checkout scripts for CI that check-out a subset of sources, etc?)

cheers -ben
>

_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20180320/9a512f93/attachment.html>


More information about the Vm-dev mailing list