From c7a44e7eb79e693178bf415dee6935c673e49b2c Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 4 Jul 2017 17:07:53 +0200 Subject: travis: Migrate to Docker to make CI work again This is based on 1.4.y, but with the old build system, and xenial as the base image. --- .travis.yml | 26 ++++++++++---------------- Dockerfile | 11 +++++++++++ 2 files changed, 21 insertions(+), 16 deletions(-) create mode 100644 Dockerfile diff --git a/.travis.yml b/.travis.yml index f5c302c91..60a66ae99 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,21 +1,15 @@ language: cpp sudo: required -dist: trusty +services: + - docker env: - - TEST_SUITE=user - - TEST_SUITE=root -before_install: - - sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ wily main universe' -y - - | - sudo sh -c '/bin/echo -e "Package: *\nPin: release n=wily\nPin-Priority: 1" > /etc/apt/preferences.d/wily' - - sudo apt-get update -qq + - USER=travis + - USER=root install: - - sudo apt-get -qq -y -t wily install libstdc++-5-dev g++ - - sudo ./prepare-release travis-ci - - sudo apt-get -qq -y -t wily install gettext liblz4-dev python3-apt - - make + - sed -i -e "s#1000#$(id -u)#g" Dockerfile + - docker build --tag=apt-ci . +before_script: + - docker run --rm -w $PWD -v $HOME/.ccache:$HOME/.ccache -v $PWD:$PWD --user=travis apt-ci make script: - - make test - - test "$TEST_SUITE" != "user" || ./test/integration/run-tests -q - - sudo adduser --force-badname --system --home /nonexistent --no-create-home --quiet _apt || true - - test "$TEST_SUITE" != "root" || sudo ./test/integration/run-tests -q + - docker run --rm -w $PWD -v $PWD:$PWD --user=travis apt-ci env make test + - docker run --rm -w $PWD -v $PWD:$PWD --user=$USER --tmpfs /tmp:suid,exec apt-ci unbuffer ./test/integration/run-tests -q -j 4 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..ba7bb9194 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM ubuntu:xenial +COPY . /tmp +WORKDIR /tmp +RUN sed -i s#://deb.debian.org#://cdn-fastly.deb.debian.org# /etc/apt/sources.list \ + && apt-get update \ + && adduser --home /home/travis travis --quiet --disabled-login --gecos "" --uid 1000 \ + && env DEBIAN_FRONTEND=noninteractive apt-get install build-essential ccache expect curl git moreutils -q -y \ + && env DEBIAN_FRONTEND=noninteractive ./prepare-release travis-ci \ + && dpkg-reconfigure ccache \ + && rm -r /tmp/* \ + && apt-get clean -- cgit v1.2.3