Build on TravisCI?

69 views
Skip to first unread message

Miles Sabin

unread,
Feb 19, 2015, 7:08:14 AM2/19/15
to scala-internals
Hi folks,

I just noticed that Dotty builds successfully on TravisCI using their
new infrastructure,

https://travis-ci.org/lampepfl/dotty/builds

I've previously tried and failed to get Typelevel Scala to build on
Travis due to lack of resources in their images and/or insufficient
time budget, and also wasn't able to come to any sort of arrangement
with them to lift the limits (not even in return for cold hard cash).

Is the Dotty build much less resource intensive then mainline Scala?
Or does this imply that Travis have increased their limits and I
should try again?

Cheers,


Miles

--
Miles Sabin
tel: +44 7813 944 528
skype: milessabin
gtalk: mi...@milessabin.com
g+: http://www.milessabin.com
http://twitter.com/milessabin

Jason Zaugg

unread,
Feb 19, 2015, 7:15:55 AM2/19/15
to scala-i...@googlegroups.com, scala-internals
Yes, the dotty build is quite a bit less intensive. It has only just added byte code generation for `pos` tests; execution of `run` tests will be further away.

Adriaan has recently extracted a recipe to run a Jenkins farm on EC2 tailored for Scala PR validation. This is now active for all new pull requests.


-jason


Sent from Mailbox


--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Dmitry Petrashko

unread,
Feb 19, 2015, 7:54:16 AM2/19/15
to scala-i...@googlegroups.com
Jason is right.
Currently Dotty's test infrastructure consists only of self-validation of compiler state:
  • trees could be retyped at any moment to see that phases haven't created a tree that is not in sync with types&symbols
  • every phase can register post-conditions that are checked
  • I am currently implementing basis for validating state of symbols(mostly due to incorrect symbols that we read from scalac pickles, eg classes with empty parents list, ie no superclass set).

Though scalac does nothing of this, it does a lot of things that we still need to get to, namely:

  • run tests
  • binary compatibility checks

And generally, while travis is a good CI for a small project, I'm pretty sure Dotty will need to move out from it at some moment, as there's no way one could get more cpu power or configure timeout as build grows. Even if you pay them. And at some point dotty could need CI that also runs under windows. Travis also doesn't help here.


Cheers,

Dmitry

Adriaan Moors

unread,
Feb 19, 2015, 4:26:34 PM2/19/15
to scala-i...@googlegroups.com
In addition to running on the latest Xenon CPUs that money can't buy (unless you're amazon),
this approach is also exciting in that all of Scala's infrastructure is now OSS, including accepting PRs & issue reports!

If you see something fishy during CI validation, please open an issue so we can hunt down the jenkins/kernel/scabot... bug that's causing it.

cheers
adriaan
Reply all
Reply to author
Forward
0 new messages