mxnet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tianqi Chen <tqc...@cs.washington.edu>
Subject Re: [DISCUSS] Build OSX builds in CI (possibly with TravisCI).
Date Wed, 05 Sep 2018 18:19:34 GMT
Alrite, then I think it is fine as long as we can kept up with build speed
without timeout.


Tianqi

On Wed, Sep 5, 2018 at 9:14 AM kellen sunderland <
kellen.sunderland@gmail.com> wrote:

> Travis actually has explicit support for ccache, it's a platform feature.
> I've run it and it seems to work quite well.  See for example this build:
> https://travis-ci.org/KellenSunderland/incubator-mxnet/builds/424768656
>
> On Wed, Sep 5, 2018 at 7:10 PM Tianqi Chen <tqchen@cs.washington.edu>
> wrote:
>
> > Travis it self is stateless, which means ccache is not likely going to
> > work. As far as I understand, if jenkins master is in the public domain,
> > you do not need to setup a vpn to the subset of the master.
> >
> > As for versions of MacOS, we are likely going to be fine with one
> version,
> > as usually the problems exhibits on mac are similar
> >
> > Tianqi
> > On Wed, Sep 5, 2018 at 9:04 AM kellen sunderland <
> > kellen.sunderland@gmail.com> wrote:
> >
> > > @Tianqi: Yeah there's going to be a lot of trade-offs to using
> Travis.  I
> > > hope we can get it running fast enough with ccache that it won't
> timeout
> > > when running tests, but even that is questionable.  In my private
> testing
> > > it was running in about 35 minutes and the global timeout for Travis
> jobs
> > > is 45 minutes.  I'd say let's run it for a few builds and see how it
> > goes.
> > > It won't be enabled in a mode that blocks PRs any time soon.
> > >
> > > I don't think physical hardware is a great solution.  We would have to
> > > purchase the hardware, then maintain security updates, install
> different
> > > versions of XCode / MacOS, setup a vpn to our jenkins master, etc.  I
> > would
> > > also worry that if the machine goes down for whatever reason it would
> > block
> > > PRs, and someone would have to be physically present to turn it back
> on.
> > > Even assuming we set all the hardware up it's still not scalable so
> we'd
> > > have to over-provision.
> > >
> > > I'm hoping the Travis solution works for the time being. If it doesn't
> > > we'll have to take a look at a few other options, but I've spent a fair
> > > amount of time thinking about this and I don't think there are any good
> > > options that don't have trade-offs.
> > >
> > > @Lin: Great!  Thanks for the offer.  There'll be a few features we want
> > to
> > > re-enable once the Job gets hooked up again.  I'll ping you when it's
> > ready
> > > and see if there's anything you think would be interesting to help
> with.
> > >
> > > -Kellen
> > >
> > > On Wed, Sep 5, 2018 at 6:58 PM Lin Yuan <apeforest@gmail.com> wrote:
> > >
> > > > Hi Kellen,
> > > >
> > > > I would love to contribute. Please let me know if you have any
> > particular
> > > > work item that I can help.
> > > >
> > > > Best,
> > > >
> > > > Lin
> > > >
> > > > On Wed, Sep 5, 2018 at 9:51 AM Tianqi Chen <tqchen@cs.washington.edu
> >
> > > > wrote:
> > > >
> > > > > is it possible for us to get a MacBook and hook it to the current
> > > Jenkins
> > > > > CI? Travis OSX usually build from scratch and that was pretty slow
> > > > >
> > > > > Tianqi
> > > > >
> > > > >
> > > > > On Wed, Sep 5, 2018 at 8:49 AM kellen sunderland <
> > > > > kellen.sunderland@gmail.com> wrote:
> > > > >
> > > > > > Great you feel that way Lin, please feel free to contribute if
> you
> > > have
> > > > > any
> > > > > > features you'd like tested.  We are using the travis image
> xcode9.4
> > > > which
> > > > > > is based on MacOS 10.13.
> > > > > >
> > > > > > On Wed, Sep 5, 2018 at 6:40 PM Lin Yuan <apeforest@gmail.com>
> > wrote:
> > > > > >
> > > > > > > Hi Kellen,
> > > > > > >
> > > > > > > Many thanks for your and Marco's effort! I think this is a very
> > > > crucial
> > > > > > > piece to improve MXNet stability.
> > > > > > >
> > > > > > > To add some data points:
> > > > > > > 1) Customers using CoreML to MXNet converter were blocked for a
> > > while
> > > > > > > because the converter was broken and no unit test was in place
> to
> > > > > detect
> > > > > > > that.
> > > > > > > 2) Developers on Mac cannot verify their local commits because
> > some
> > > > > unit
> > > > > > > tests on master were broken. This wasted much time and resource
> > on
> > > > > > jenkins
> > > > > > > server to detect the failure.
> > > > > > > 3) Please consider running the CI on Mac OS 10.13 since this is
> > the
> > > > > > minimum
> > > > > > > Mac OS version that supports CoreML (to support CoreML to MXNet
> > > > > > converter)
> > > > > > >
> > > > > > > Best Regards,
> > > > > > >
> > > > > > > Lin
> > > > > > >
> > > > > > > On Wed, Sep 5, 2018, 3:02 AM kellen sunderland <
> > > > > > > kellen.sunderland@gmail.com>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > I'm bumping this thread as we've recently had our first
> serious
> > > bug
> > > > > on
> > > > > > > > MacOS that would have been caught by enabling Travis.
> > > > > > > >
> > > > > > > > I'm going to do a little experimental work together with
> Marco
> > > with
> > > > > the
> > > > > > > > goal of enabling a minimal Travis build that will run python
> > > tests.
> > > > > So
> > > > > > > far
> > > > > > > > I've verified that Travis will in fact find a bug that
> > currently
> > > > > exists
> > > > > > > in
> > > > > > > > master and has been reproduced by MacOS clients.  This
> > indicates
> > > to
> > > > > me
> > > > > > > that
> > > > > > > > adding Travis will add value to our CI.
> > > > > > > >
> > > > > > > > My best guess is that it might take us some iteration before
> we
> > > > find
> > > > > a
> > > > > > > > scalable way to integrate Travis.  Given this we're going to
> > > enable
> > > > > > > Travis
> > > > > > > > in non-blocking mode (i.e. failures are safe to ignore for
> the
> > > time
> > > > > > > being).
> > > > > > > >
> > > > > > > > To help mitigate the risk of timeouts, and to remove legacy
> > code
> > > > I'm
> > > > > > > going
> > > > > > > > to re-create the travis.yml file from scratch.  I think it'll
> > be
> > > > much
> > > > > > > less
> > > > > > > > confusing if we only have working code related to Travis in
> our
> > > > > > codebase,
> > > > > > > > so that contributors won't have to experiment to see what is
> or
> > > > isn't
> > > > > > > > working.  We've got some great, but slightly out-of-date
> > > > > functionality
> > > > > > in
> > > > > > > > the legacy .travis.yml file.  I hope we can work together to
> > > update
> > > > > the
> > > > > > > > legacy features, ensure they work with the current folder
> > > structure
> > > > > and
> > > > > > > > also make sure the features run within Travis's 45 minute
> > global
> > > > time
> > > > > > > > window.
> > > > > > > >
> > > > > > > > I'd also like to set expectations that this is strictly a
> > > volunteer
> > > > > > > > effort.  I'd welcome help from the community for support and
> > > > > > maintenance.
> > > > > > > > The model downloading caching work particularly stands out to
> > me
> > > as
> > > > > > > > something I'd like to re-enable again as soon as possible.
> > > > > > > >
> > > > > > > > -Kellen
> > > > > > > >
> > > > > > > > On Tue, Jan 9, 2018 at 11:52 AM Marco de Abreu <
> > > > > > > > marco.g.abreu@googlemail.com>
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Looks good! +1
> > > > > > > > >
> > > > > > > > > On Tue, Jan 9, 2018 at 10:24 AM, kellen sunderland <
> > > > > > > > > kellen.sunderland@gmail.com> wrote:
> > > > > > > > >
> > > > > > > > > > I think most were in favour of at a minimum creating a
> > clang
> > > > > build
> > > > > > so
> > > > > > > > > I've
> > > > > > > > > > created a PR
> > > > > > > > > >
> > https://github.com/apache/incubator-mxnet/pull/9330/commits/
> > > > > > > > > > 84089ea14123ebe4d66cc92e82a2d529cfbd8b19.
> > > > > > > > > > My hope is this will catch many of the issues blocking
> OSX
> > > > > builds.
> > > > > > > In
> > > > > > > > > fact
> > > > > > > > > > it already caught one issue.  If you guys are in favour I
> > can
> > > > > > remove
> > > > > > > > the
> > > > > > > > > > WIP and ask that it be merged.
> > > > > > > > > >
> > > > > > > > > > On Thu, Jan 4, 2018 at 6:29 PM, Chris Olivier <
> > > > > > cjolivier01@gmail.com
> > > > > > > >
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Nope, I have been on vacation.
> > > > > > > > > > >
> > > > > > > > > > > On Thu, Jan 4, 2018 at 9:10 AM, kellen sunderland <
> > > > > > > > > > > kellen.sunderland@gmail.com> wrote:
> > > > > > > > > > >
> > > > > > > > > > > > Hope everyone had a good break.  Just wanted to check
> > if
> > > > > there
> > > > > > > were
> > > > > > > > > > > further
> > > > > > > > > > > > thoughts on OSX builds.  Chris, did you have time to
> > look
> > > > > into
> > > > > > > > > > > virtualizing
> > > > > > > > > > > > Mac OS?  Would it make sense for us to put something
> in
> > > > place
> > > > > > in
> > > > > > > > the
> > > > > > > > > > > > interim e.g. the clang solution?
> > > > > > > > > > > >
> > > > > > > > > > > > On Tue, Dec 12, 2017 at 7:59 PM, de Abreu, Marco <
> > > > > > > > mabreu@amazon.com>
> > > > > > > > > > > > wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > > Thanks for looking into this, Chris! No hurries on
> > that
> > > > > one,
> > > > > > > > we’ll
> > > > > > > > > > look
> > > > > > > > > > > > > into it next stage when we add new system- and
> > > > > > > > build-configurations
> > > > > > > > > > to
> > > > > > > > > > > > the
> > > > > > > > > > > > > CI.
> > > > > > > > > > > > >
> > > > > > > > > > > > > On 12.12.17, 19:12, "Chris Olivier" <
> > > > cjolivier01@gmail.com
> > > > > >
> > > > > > > > wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > >     I am on vacation starting Thursday.
> > > > > > > > > > > > >
> > > > > > > > > > > > >     On Tue, Dec 12, 2017 at 9:49 AM kellen
> > sunderland <
> > > > > > > > > > > > >     kellen.sunderland@gmail.com> wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > >     > Absolutely, let's do an investigation and see
> > if
> > > > it's
> > > > > > > > > possible
> > > > > > > > > > to
> > > > > > > > > > > > >     > virtualize.  Would you have time to look into
> > it
> > > a
> > > > > bit
> > > > > > > > > further?
> > > > > > > > > > > > >     >
> > > > > > > > > > > > >     > On Tue, Dec 12, 2017 at 6:47 PM, Chris
> Olivier
> > <
> > > > > > > > > > > > > cjolivier01@gmail.com>
> > > > > > > > > > > > >     > wrote:
> > > > > > > > > > > > >     >
> > > > > > > > > > > > >     > > Don’t get me wrong, I’m not saying this Mac
> > OS
> > > > > > Jenkins
> > > > > > > > > > solution
> > > > > > > > > > > > is
> > > > > > > > > > > > > doable
> > > > > > > > > > > > >     > > but I feel like we should investigate
> because
> > > the
> > > > > > > payoff
> > > > > > > > > > would
> > > > > > > > > > > be
> > > > > > > > > > > > > large.
> > > > > > > > > > > > >     > >
> > > > > > > > > > > > >     > >
> > > > > > > > > > > > >     > > On Tue, Dec 12, 2017 at 9:38 AM Chris
> > Olivier <
> > > > > > > > > > > > > cjolivier01@gmail.com>
> > > > > > > > > > > > >     > > wrote:
> > > > > > > > > > > > >     > >
> > > > > > > > > > > > >     > > > Apple’s Darwin OS Is recently
> open-sourced.
> > > > > > > > > > > > >     > > > https://github.com/PureDarwin/PureDarwin
> > > > > > > > > > > > >     > > >
> > > > > > > > > > > > >     > > > How to convert this into a non-GUI VM I
> am
> > > not
> > > > > sure
> > > > > > > > but I
> > > > > > > > > > am
> > > > > > > > > > > > > willing to
> > > > > > > > > > > > >     > > > bet that people have done it already.
> > > > > > > > > > > > >     > > >
> > > > > > > > > > > > >     > > > On Tue, Dec 12, 2017 at 9:16 AM kellen
> > > > > sunderland <
> > > > > > > > > > > > >     > > > kellen.sunderland@gmail.com> wrote:
> > > > > > > > > > > > >     > > >
> > > > > > > > > > > > >     > > >> It might be technically possible, but I
> > > think
> > > > it
> > > > > > > would
> > > > > > > > > > > violate
> > > > > > > > > > > > > the
> > > > > > > > > > > > >     > MacOS
> > > > > > > > > > > > >     > > >> license: http://store.apple.com/
> > > > > > > > > > > Catalog/US/Images/MacOSX.htm
> > > > > > > > > > > > >     > > >>
> > > > > > > > > > > > >     > > >> "2. Permitted License Uses and
> > Restrictions.
> > > > > > > > > > > > >     > > >> A. This License allows you to install
> and
> > > use
> > > > > one
> > > > > > > copy
> > > > > > > > > of
> > > > > > > > > > > the
> > > > > > > > > > > > > Apple
> > > > > > > > > > > > >     > > >> Software on a single Apple-labeled
> > computer
> > > > at a
> > > > > > > time.
> > > > > > > > > > This
> > > > > > > > > > > > > License
> > > > > > > > > > > > >     > does
> > > > > > > > > > > > >     > > >> not allow the Apple Software to exist on
> > > more
> > > > > than
> > > > > > > one
> > > > > > > > > > > > computer
> > > > > > > > > > > > > at a
> > > > > > > > > > > > >     > > >> time,and you may not make the Apple
> > Software
> > > > > > > available
> > > > > > > > > > over
> > > > > > > > > > > a
> > > > > > > > > > > > > network
> > > > > > > > > > > > >     > > >> where
> > > > > > > > > > > > >     > > >> it could be used by multiple computers
> at
> > > the
> > > > > same
> > > > > > > > time.
> > > > > > > > > > You
> > > > > > > > > > > > > may make
> > > > > > > > > > > > >     > > one
> > > > > > > > > > > > >     > > >> copy of the Apple Software (excluding
> the
> > > Boot
> > > > > ROM
> > > > > > > > code)
> > > > > > > > > > in
> > > > > > > > > > > > >     > > >> machine-readable form for backup
> purposes
> > > > only;
> > > > > > > > provided
> > > > > > > > > > > that
> > > > > > > > > > > > > the
> > > > > > > > > > > > >     > backup
> > > > > > > > > > > > >     > > >> copy must include all copyright or other
> > > > > > proprietary
> > > > > > > > > > notices
> > > > > > > > > > > > > contained
> > > > > > > > > > > > >     > > on
> > > > > > > > > > > > >     > > >> the original. "
> > > > > > > > > > > > >     > > >>
> > > > > > > > > > > > >     > > >> I could be wrong though, does anyone
> know
> > > the
> > > > > > > details
> > > > > > > > of
> > > > > > > > > > > MacOS
> > > > > > > > > > > > >     > > licensing /
> > > > > > > > > > > > >     > > >> virtualization?
> > > > > > > > > > > > >     > > >>
> > > > > > > > > > > > >     > > >> On Tue, Dec 12, 2017 at 6:10 PM, Chris
> > > > Olivier <
> > > > > > > > > > > > > cjolivier01@gmail.com
> > > > > > > > > > > > >     > >
> > > > > > > > > > > > >     > > >> wrote:
> > > > > > > > > > > > >     > > >>
> > > > > > > > > > > > >     > > >> > googling seems to be full of running
> OSX
> > > > (and
> > > > > > even
> > > > > > > > > > > > > open-sourced
> > > > > > > > > > > > >     > > >> PureDarwin)
> > > > > > > > > > > > >     > > >> > in VMs. One could conceivably run a VM
> > on
> > > an
> > > > > EC2
> > > > > > > > > > instance,
> > > > > > > > > > > > > right?
> > > > > > > > > > > > >     > > >> >
> > > > > > > > > > > > >     > > >> > On Tue, Dec 12, 2017 at 9:01 AM kellen
> > > > > > sunderland
> > > > > > > <
> > > > > > > > > > > > >     > > >> > kellen.sunderland@gmail.com> wrote:
> > > > > > > > > > > > >     > > >> >
> > > > > > > > > > > > >     > > >> > > It would be ideal if we could cover
> > OSX
> > > in
> > > > > > > > Jenkins,
> > > > > > > > > > but
> > > > > > > > > > > > the
> > > > > > > > > > > > > only
> > > > > > > > > > > > >     > > >> solution
> > > > > > > > > > > > >     > > >> > > that I'm aware of would require
> > physical
> > > > > > > machines
> > > > > > > > to
> > > > > > > > > > be
> > > > > > > > > > > > the
> > > > > > > > > > > > >     > workers.
> > > > > > > > > > > > >     > > >> I
> > > > > > > > > > > > >     > > >> > > would be weakly opposed to having
> > > physical
> > > > > > > servers
> > > > > > > > > > > running
> > > > > > > > > > > > > on PRs.
> > > > > > > > > > > > >     > > >> The
> > > > > > > > > > > > >     > > >> > > downsides that I see in order of
> > > > importance:
> > > > > > > > > > > > >     > > >> > >
> > > > > > > > > > > > >     > > >> > > -  We can't autoscale physical
> > hardware.
> > > > >  If
> > > > > > we
> > > > > > > > > find
> > > > > > > > > > > that
> > > > > > > > > > > > > the
> > > > > > > > > > > > >     > load
> > > > > > > > > > > > >     > > is
> > > > > > > > > > > > >     > > >> > too
> > > > > > > > > > > > >     > > >> > > high we have to buy more machines.
> > > > > > > > > > > > >     > > >> > > -  Security would be tricky, as
> they'd
> > > > have
> > > > > to
> > > > > > > be
> > > > > > > > > > > > connected
> > > > > > > > > > > > > to the
> > > > > > > > > > > > >     > > >> > internet
> > > > > > > > > > > > >     > > >> > > and then to our Jekins master
> > instance.
> > > > > > > > Connecting
> > > > > > > > > > via
> > > > > > > > > > > a
> > > > > > > > > > > > > wired
> > > > > > > > > > > > >     > > >> network
> > > > > > > > > > > > >     > > >> > > would probably not be possible on
> most
> > > > > > corporate
> > > > > > > > > > > networks
> > > > > > > > > > > > > as these
> > > > > > > > > > > > >     > > >> > machines
> > > > > > > > > > > > >     > > >> > > are by definition running arbitrary
> > code
> > > > > from
> > > > > > > the
> > > > > > > > > > > > > internet.  Many
> > > > > > > > > > > > >     > > >> > corporate
> > > > > > > > > > > > >     > > >> > > sites have public wifi that this
> > machine
> > > > > could
> > > > > > > > > > > potentially
> > > > > > > > > > > > > connect
> > > > > > > > > > > > >     > > to,
> > > > > > > > > > > > >     > > >> > but
> > > > > > > > > > > > >     > > >> > > then our PRs start failing if the
> wifi
> > > > > > > disconnects
> > > > > > > > > > > > > temporarily.
> > > > > > > > > > > > >     > To
> > > > > > > > > > > > >     > > >> > connect
> > > > > > > > > > > > >     > > >> > > to the master we would need to
> setup a
> > > vpn
> > > > > > > > solution
> > > > > > > > > > with
> > > > > > > > > > > > > endpoints
> > > > > > > > > > > > >     > > in
> > > > > > > > > > > > >     > > >> our
> > > > > > > > > > > > >     > > >> > > vpc on AWS.  This is possible but
> > would
> > > > > > probably
> > > > > > > > > > > require a
> > > > > > > > > > > > > lot of
> > > > > > > > > > > > >     > > >> > security
> > > > > > > > > > > > >     > > >> > > work.
> > > > > > > > > > > > >     > > >> > > -  We can't just create a simple
> > startup
> > > > > > script
> > > > > > > or
> > > > > > > > > > yaml
> > > > > > > > > > > > > file that
> > > > > > > > > > > > >     > is
> > > > > > > > > > > > >     > > >> > > checked into GitHub to manage the
> > > machine.
> > > > > > > > Someone
> > > > > > > > > > will
> > > > > > > > > > > > > actually
> > > > > > > > > > > > >     > > >> have to
> > > > > > > > > > > > >     > > >> > > physically administer the machine,
> > apply
> > > > > > > updates,
> > > > > > > > > etc.
> > > > > > > > > > > > > which will
> > > > > > > > > > > > >     > > make
> > > > > > > > > > > > >     > > >> > > community ownership difficult.
> > > > > > > > > > > > >     > > >> > >
> > > > > > > > > > > > >     > > >> > > Specific to an OSX build:
> > > > > > > > > > > > >     > > >> > > -  We can't virtualize OSX which
> means
> > > > we'd
> > > > > > only
> > > > > > > > be
> > > > > > > > > > able
> > > > > > > > > > > > to
> > > > > > > > > > > > > cover
> > > > > > > > > > > > >     > > one
> > > > > > > > > > > > >     > > >> OSX
> > > > > > > > > > > > >     > > >> > > build environment per physical
> device.
> > > We
> > > > > > > > couldn't
> > > > > > > > > > > > target a
> > > > > > > > > > > > >     > matrix
> > > > > > > > > > > > >     > > of
> > > > > > > > > > > > >     > > >> > OSX
> > > > > > > > > > > > >     > > >> > > and Xcode versions as in Travis.
> > > > > > > > > > > > >     > > >> > >
> > > > > > > > > > > > >     > > >> > > -Kellen
> > > > > > > > > > > > >     > > >> > >
> > > > > > > > > > > > >     > > >> > > On Tue, Dec 12, 2017 at 5:46 PM,
> Chris
> > > > > > Olivier <
> > > > > > > > > > > > >     > > cjolivier01@gmail.com
> > > > > > > > > > > > >     > > >> >
> > > > > > > > > > > > >     > > >> > > wrote:
> > > > > > > > > > > > >     > > >> > >
> > > > > > > > > > > > >     > > >> > > > So why Travis when we could
> possibly
> > > use
> > > > > > > > Jenkins?
> > > > > > > > > > > > >     > > >> > > >
> > > > > > > > > > > > >     > > >> > > > On Tue, Dec 12, 2017 at 7:59 AM
> > Marco
> > > de
> > > > > > > Abreu <
> > > > > > > > > > > > >     > > >> > > > marco.g.abreu@googlemail.com>
> > > > > > > > > > > > >     > > >> > > > wrote:
> > > > > > > > > > > > >     > > >> > > >
> > > > > > > > > > > > >     > > >> > > > > Yes that's correct, Chris.
> > > > > > > > > > > > >     > > >> > > > >
> > > > > > > > > > > > >     > > >> > > > > Am 12.12.2017 4:46 nachm.
> schrieb
> > > > "Chris
> > > > > > > > > Olivier"
> > > > > > > > > > <
> > > > > > > > > > > > >     > > >> > > cjolivier01@gmail.com
> > > > > > > > > > > > >     > > >> > > > >:
> > > > > > > > > > > > >     > > >> > > > >
> > > > > > > > > > > > >     > > >> > > > > > A quick google search seems to
> > > > > indicate
> > > > > > > that
> > > > > > > > > Mac
> > > > > > > > > > > can
> > > > > > > > > > > > > be used
> > > > > > > > > > > > >     > > as
> > > > > > > > > > > > >     > > >> a
> > > > > > > > > > > > >     > > >> > > > Jenkins
> > > > > > > > > > > > >     > > >> > > > > > slave. Is this correct?
> > > > > > > > > > > > >     > > >> > > > > >
> > > > > > > > > > > > >     > > >> > > > > > On Tue, Dec 12, 2017 at 7:42
> AM
> > > > > Steffen
> > > > > > > > > Rochel <
> > > > > > > > > > > > >     > > >> > > > steffenrochel@gmail.com>
> > > > > > > > > > > > >     > > >> > > > > > wrote:
> > > > > > > > > > > > >     > > >> > > > > >
> > > > > > > > > > > > >     > > >> > > > > > > +1 for #1 and #2
> > > > > > > > > > > > >     > > >> > > > > > >
> > > > > > > > > > > > >     > > >> > > > > > > I’m working on getting a
> > MacPro
> > > to
> > > > > add
> > > > > > > to
> > > > > > > > CI
> > > > > > > > > > > > system.
> > > > > > > > > > > > >     > > >> > > > > > > On Tue, Dec 12, 2017 at 1:43
> > AM
> > > > > kellen
> > > > > > > > > > > sunderland
> > > > > > > > > > > > <
> > > > > > > > > > > > >     > > >> > > > > > > kellen.sunderland@gmail.com
> >
> > > > wrote:
> > > > > > > > > > > > >     > > >> > > > > > >
> > > > > > > > > > > > >     > > >> > > > > > > > Background:  TravisCI is a
> > > > startup
> > > > > > > > > providing
> > > > > > > > > > > > > managed
> > > > > > > > > > > > >     > > >> continuous
> > > > > > > > > > > > >     > > >> > > > > > > > integration services with
> > > GitHub
> > > > > > > > > integration
> > > > > > > > > > > and
> > > > > > > > > > > > > YAML
> > > > > > > > > > > > >     > > based
> > > > > > > > > > > > >     > > >> > > > > > > configuration.
> > > > > > > > > > > > >     > > >> > > > > > > > TravisCI is one of the few
> > CI
> > > > > > > providers
> > > > > > > > > that
> > > > > > > > > > > > will
> > > > > > > > > > > > > build
> > > > > > > > > > > > >     > a
> > > > > > > > > > > > >     > > >> > variety
> > > > > > > > > > > > >     > > >> > > > of
> > > > > > > > > > > > >     > > >> > > > > > > > OSX/MacOS builds for
> > software
> > > > > > > projects.
> > > > > > > > > > Their
> > > > > > > > > > > > > pricing
> > > > > > > > > > > > >     > > >> ranges
> > > > > > > > > > > > >     > > >> > > from
> > > > > > > > > > > > >     > > >> > > > > Free
> > > > > > > > > > > > >     > > >> > > > > > > > (for open source, 1
> > concurrent
> > > > > job,
> > > > > > to
> > > > > > > > > $489
> > > > > > > > > > > > > monthly for
> > > > > > > > > > > > >     > 10
> > > > > > > > > > > > >     > > >> > > > concurrent
> > > > > > > > > > > > >     > > >> > > > > > > jobs).
> > > > > > > > > > > > >     > > >> > > > > > > >
> > > > > > > > > > > > >     > > >> > > > > > > > Problem: We’ve had a few
> OSX
> > > > build
> > > > > > > > issues
> > > > > > > > > > slip
> > > > > > > > > > > > > into
> > > > > > > > > > > > >     > MXNet
> > > > > > > > > > > > >     > > >> > master
> > > > > > > > > > > > >     > > >> > > in
> > > > > > > > > > > > >     > > >> > > > > the
> > > > > > > > > > > > >     > > >> > > > > > > > past few weeks.  We’ve
> > > > previously
> > > > > > had
> > > > > > > a
> > > > > > > > > > Travis
> > > > > > > > > > > > CI
> > > > > > > > > > > > > based
> > > > > > > > > > > > >     > > >> testing
> > > > > > > > > > > > >     > > >> > > > > system
> > > > > > > > > > > > >     > > >> > > > > > > that
> > > > > > > > > > > > >     > > >> > > > > > > > would have caught these
> > > issues.
> > > > > > > > > > > > >     > > >> > > > > > > >
> > > > > > > > > > > > >     > > >> > > > > > > > Proposals so far:
> > > > > > > > > > > > >     > > >> > > > > > > >
> > > > > > > > > > > > >     > > >> > > > > > > > 1) Use TravisCI in it’s
> free
> > > > mode
> > > > > > for
> > > > > > > a
> > > > > > > > > very
> > > > > > > > > > > > > minimal
> > > > > > > > > > > > >     > > sanity
> > > > > > > > > > > > >     > > >> > check
> > > > > > > > > > > > >     > > >> > > > on
> > > > > > > > > > > > >     > > >> > > > > > OSX.
> > > > > > > > > > > > >     > > >> > > > > > > > If we compile the program,
> > and
> > > > for
> > > > > > > > example
> > > > > > > > > > run
> > > > > > > > > > > > > C++ unit
> > > > > > > > > > > > >     > > >> tests
> > > > > > > > > > > > >     > > >> > > we’re
> > > > > > > > > > > > >     > > >> > > > > > > > unlikely to run into
> > problems
> > > > with
> > > > > > > > queued
> > > > > > > > > > > > > builds.  The
> > > > > > > > > > > > >     > > total
> > > > > > > > > > > > >     > > >> > > build
> > > > > > > > > > > > >     > > >> > > > > time
> > > > > > > > > > > > >     > > >> > > > > > > > here should be less than
> 15
> > > > > minutes.
> > > > > > > > > > > > > Configuration
> > > > > > > > > > > > >     > should
> > > > > > > > > > > > >     > > >> be
> > > > > > > > > > > > >     > > >> > > quite
> > > > > > > > > > > > >     > > >> > > > > > > simple
> > > > > > > > > > > > >     > > >> > > > > > > > and easy to maintain.
> Error
> > > > > > messages
> > > > > > > > > should
> > > > > > > > > > > > also
> > > > > > > > > > > > > be
> > > > > > > > > > > > >     > > >> obvious to
> > > > > > > > > > > > >     > > >> > > > > > > > contributors.
> > > > > > > > > > > > >     > > >> > > > > > > > 2) Run clang in Linux with
> > our
> > > > > > current
> > > > > > > > CI.
> > > > > > > > > > > > > Building
> > > > > > > > > > > > >     > with
> > > > > > > > > > > > >     > > >> clang
> > > > > > > > > > > > >     > > >> > > > > should
> > > > > > > > > > > > >     > > >> > > > > > > > take less than 10 minutes,
> > > > should
> > > > > > > flush
> > > > > > > > > out
> > > > > > > > > > a
> > > > > > > > > > > > > large
> > > > > > > > > > > > >     > subset
> > > > > > > > > > > > >     > > >> of
> > > > > > > > > > > > >     > > >> > the
> > > > > > > > > > > > >     > > >> > > > > > issues
> > > > > > > > > > > > >     > > >> > > > > > > > we’ve seen with OSX, and
> be
> > > > quite
> > > > > > easy
> > > > > > > > to
> > > > > > > > > > > > > maintain.
> > > > > > > > > > > > >     > > >> > > > > > > > 3) Run full test-suites in
> > > > > TravisCI,
> > > > > > > > > > equaling
> > > > > > > > > > > > the
> > > > > > > > > > > > > level
> > > > > > > > > > > > >     > of
> > > > > > > > > > > > >     > > >> > > coverage
> > > > > > > > > > > > >     > > >> > > > > we
> > > > > > > > > > > > >     > > >> > > > > > > > provide to Linux in
> Jenkins.
> > > > This
> > > > > > > could
> > > > > > > > > > > require
> > > > > > > > > > > > > us to
> > > > > > > > > > > > >     > > >> > subscribe
> > > > > > > > > > > > >     > > >> > > > to a
> > > > > > > > > > > > >     > > >> > > > > > > > monthly package with
> Travis
> > to
> > > > > > ensure
> > > > > > > > our
> > > > > > > > > > > build
> > > > > > > > > > > > > queue
> > > > > > > > > > > > >     > > >> doesn’t
> > > > > > > > > > > > >     > > >> > > grow
> > > > > > > > > > > > >     > > >> > > > to
> > > > > > > > > > > > >     > > >> > > > > > an
> > > > > > > > > > > > >     > > >> > > > > > > > unacceptable length.  It
> may
> > > > also
> > > > > > > > require
> > > > > > > > > a
> > > > > > > > > > > > > volunteer to
> > > > > > > > > > > > >     > > >> setup
> > > > > > > > > > > > >     > > >> > > and
> > > > > > > > > > > > >     > > >> > > > > > > maintain
> > > > > > > > > > > > >     > > >> > > > > > > > long-term.
> > > > > > > > > > > > >     > > >> > > > > > > >
> > > > > > > > > > > > >     > > >> > > > > > > > I’d +1 #1 and #2 as I
> think
> > > > those
> > > > > > > should
> > > > > > > > > be
> > > > > > > > > > > > > low-cost,
> > > > > > > > > > > > >     > > >> > > low-maintence
> > > > > > > > > > > > >     > > >> > > > > > > > solutions that should
> catch
> > > the
> > > > > > > majority
> > > > > > > > > of
> > > > > > > > > > > the
> > > > > > > > > > > > > problems
> > > > > > > > > > > > >     > > >> we’ve
> > > > > > > > > > > > >     > > >> > > seen
> > > > > > > > > > > > >     > > >> > > > > > thus
> > > > > > > > > > > > >     > > >> > > > > > > > far.
> > > > > > > > > > > > >     > > >> > > > > > > >
> > > > > > > > > > > > >     > > >> > > > > > > > -Kellen
> > > > > > > > > > > > >     > > >> > > > > > > >
> > > > > > > > > > > > >     > > >> > > > > > >
> > > > > > > > > > > > >     > > >> > > > > >
> > > > > > > > > > > > >     > > >> > > > >
> > > > > > > > > > > > >     > > >> > > >
> > > > > > > > > > > > >     > > >> > >
> > > > > > > > > > > > >     > > >> >
> > > > > > > > > > > > >     > > >>
> > > > > > > > > > > > >     > > >
> > > > > > > > > > > > >     > >
> > > > > > > > > > > > >     >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message