/llvm-package-travis

Provides LLVM binary packages for a complete build matrix on Travis CI to help you avoid building LLVM and wasting those precious 50 minutes per job.

Primary LanguageShell

LLVM packages for Travis CI

Releases

LLVM Date LLVM Version Clang Version Remarks
2019-Jul-05 The LLVM master branch
2019-Mar-20 The latest official LLVM release
2019-Apr-17 The ABI compatibility with GCC fix for LLVM 7
2016-Dec-23 The latest LLVM which still can be compiled with MSVC 2013
2014-Jun-19 The latest LLVM which still can be compiled with MSVC 2010
  LLVM x.x.x Clang x.x.x Create a new issue to request a particular LLVM version

Abstract

LLVM is huge, and it's getting bigger with each and every release. Building it together with a project which depends on it (e.g., an LLVM-targeting programming language) during a CI build is not an option -- building LLVM itself eats most (earlier LLVM releases), and all (recent LLVM releases) of the allotted CI build time.

So why not use pre-built packages from the official LLVM download page? Unfortunately, the official binaries cover just a tiny fraction of possible configurations; what's even worse, there's no consistency in the build matrix from release to release. There are no Debug libraries or 32-bit binaries for Ubuntu, sometimes Ubuntu build is missing, sometimes there's no Mac OS X, etc.

The llvm-package-travis project builds all important versions of both LLVM and LibClang on Travis CI (so there's a guarantee of binary compatibility) and for a consistent and much more complete build matrix:

  • OS:
    • Linux Ubuntu 16.04 (Xenial Xerus)
    • Linux Ubuntu 14.04 (Trusty Tahr)
    • Mac OS X
  • Compiler:
    • GCC (Linux only)
    • Clang
  • Configuration:
    • Debug (libraries only, no tools)
    • Release
  • Target CPU:
    • IA32 (a.k.a. x86; Linux only)
    • AMD64 (a.k.a. x86_64)

The resulting LLVM binary packages are made publicly available as GitHub release artifacts. Compiler developers can now fully test their LLVM-dependent projects on Travis CI by downloading and unpacking a corresponding LLVM binary archive during the CI installation phase.

Big thanks to the Travis CI team for increasing the allotted build time for llvm-package-travis!

Sample

  • Jancy uses llvm-package-windows for CI testing on a range of configurations and LLVM versions. See build logs for more details.