www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - CircleCI: LLVM trunk or pre-release

reply Johan Engelen <j j.nl> writes:
Brief summary of which LLVM versions our current CI systems use:
- Travis: released LLVM versions on Linux (3.5-3.8) and OS X (3.8)
- CircleCI: Linux LLVM 3.9 (pre-release, APT repo)
- AppVeyor: windows LLVM 3.9 (LLVM is built by ourselves)

There are now two LLVM versions for which binary packages are 
only available through the APT repositories: 3.9 and 4.0.

On Travis, we use the binary archives available from llvm.org so 
it will be a little annoying to special case the builds for LLVM 
3.9 before the actual release happens and packages are available.
On CircleCI we use the APT repo system, so it is easy to pick 
LLVM 3.9 and 4.0, but... CircleCI does not support Travis-style 
matrix builds natively. Perhaps this can work:
https://github.com/michaelcontento/circleci-matrix

I don't think anybody enjoys working on setting up the CI 
systems. The easiest thing to do now is pick either 3.9 or 4.0 
for CircleCI, and leave it at that. Adding LLVM 3.9 to Travis is 
also pretty easy, but it will add yet another Travis task.

Thoughts?
Jul 21 2016
parent kink <noone nowhere.com> writes:
On Thursday, 21 July 2016 at 11:14:28 UTC, Johan Engelen wrote:
 On Travis, we use the binary archives available from llvm.org 
 so it will be a little annoying to special case the builds for 
 LLVM 3.9 before the actual release happens and packages are 
 available.
Alright. I'd suggest using the supported official releases for Travis and the next unofficial one (i.e., currently 3.9 as it hasn't been released yet) for CircleCI and AppVeyor. I'd only focus on 4.0 as soon as LLVM 3.9 is released, at least as long as there aren't any killer features.
Jul 21 2016