Use Docker for Travis

This commit is contained in:
Seo Sanghyeon 2016-06-02 00:14:22 +09:00
parent 433d70cda2
commit b1651fb4d2
2 changed files with 34 additions and 8 deletions

View file

@ -1,6 +1,7 @@
language: generic
sudo: required
dist: trusty
services:
- docker
# LLVM takes awhile to check out and otherwise we'll manage the submodules in
# our configure script, so disable auto submodule management.
@ -8,15 +9,15 @@ git:
submodules: false
before_install:
- echo 0 | sudo tee /proc/sys/net/ipv6/conf/lo/disable_ipv6
- echo 'deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main' | sudo tee -a /etc/apt/sources.list
- echo 'deb-src http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main' | sudo tee -a /etc/apt/sources.list
- sudo apt-get update
- sudo apt-get --force-yes install curl make g++ python2.7 git zlib1g-dev libedit-dev llvm-3.7-tools
- docker build -t rust -f src/etc/Dockerfile src/etc
script:
- ./configure --llvm-root=/usr/lib/llvm-3.7
- make tidy && make check-notidy -j4
- docker run -v `pwd`:/build rust
sh -c "
./configure --llvm-root=/usr/lib/llvm-3.7 &&
make tidy &&
make check-notidy -j4
"
# Real testing happens on http://buildbot.rust-lang.org/
#

25
src/etc/Dockerfile Normal file
View file

@ -0,0 +1,25 @@
FROM ubuntu:xenial
# curl
# Download stage0, see src/bootstrap/bootstrap.py
# g++
# Compile LLVM binding in src/rustllvm
# git
# Get commit hash and commit date in version string
# make
# Run build scripts in mk
# libedit-dev zlib1g-dev
# LLVM dependencies as packaged in Ubuntu
# (They are optional, but Ubuntu package enables them)
# llvm-3.7-dev (installed by llvm-3.7-tools)
# LLVM
# llvm-3.7-tools
# FileCheck is used to run tests in src/test/codegen
RUN apt-get update && apt-get -y install \
curl g++ git make \
libedit-dev zlib1g-dev \
llvm-3.7-tools
RUN mkdir /build
WORKDIR /build