Some Travis & Docker updates
- simplification of the build matrix - usability tweaks for docker - update Travis docker image -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAlsRUo8ACgkQ+9DbCVqe KkTyiAf/T8F3MBS+g9iZ2IS6rY32zQGhZddD3tty+IFCctUnWbK4jkGqUY2wIWF9 4VsfVBIovTP8CPIdZjg5EDTyy4FgKtyxFppJWpJj1/odPM1jIAglUkoDEauABByi 0NusWqMLHq8rkH6pzmlIMUAgKeOI02Xk74RW2RDVZ0AveCFhbJkZDQdxrM96vhA2 GwjEwuEoOAhVpCm7KmQbBCu+ov8v3VOvfY0o8yU+t0wJm2zjAAseyt6lNM7q54gx UswN1klHlCFKzYV0zsr+sCG0aZ4ysj96z0dyvc2QWtvux4s1/XRpHiQdm2H5L0p1 fOngmEZGDpd8zf+fESSO1C22O0qiZQ== =7wIt -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/stsquad/tags/pull-travis-updates-010618-1' into staging Some Travis & Docker updates - simplification of the build matrix - usability tweaks for docker - update Travis docker image # gpg: Signature made Fri 01 Jun 2018 15:05:03 BST # gpg: using RSA key FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * remotes/stsquad/tags/pull-travis-updates-010618-1: .travis.yml: update GCC sanitizer build to GCC 7 .travis.yml: make current setup explicit .travis.yml: rationalise clang testing docker: update Travis docker image docker: do not display deprecated images in 'make docker' help docker: sort images list displayed by 'make docker' .travis.yml: disable linux-user build for gcov Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
392fba9f58
84
.travis.yml
84
.travis.yml
@ -1,4 +1,8 @@
|
||||
# The current Travis default is a container based 14.04 Trust on EC2
|
||||
# Additional builds with specific requirements for a full VM need to
|
||||
# be added as additional matrix: entries later on
|
||||
sudo: false
|
||||
dist: trusty
|
||||
language: c
|
||||
python:
|
||||
- "2.6"
|
||||
@ -70,11 +74,13 @@ script:
|
||||
- make ${MAKEFLAGS} && ${TEST_CMD}
|
||||
matrix:
|
||||
include:
|
||||
# Test with CLang for compile portability
|
||||
- env: CONFIG=""
|
||||
# Test with Clang for compile portability (Travis uses clang-5.0)
|
||||
- env: CONFIG="--disable-system"
|
||||
compiler: clang
|
||||
- env: CONFIG="--disable-user"
|
||||
compiler: clang
|
||||
# gprof/gcov are GCC features
|
||||
- env: CONFIG="--enable-gprof --enable-gcov --disable-pie"
|
||||
- env: CONFIG="--enable-gprof --enable-gcov --disable-pie --disable-linux-user"
|
||||
compiler: gcc
|
||||
# We manually include builds which we disable "make check" for
|
||||
- env: CONFIG="--enable-debug --enable-tcg-interpreter"
|
||||
@ -95,80 +101,24 @@ matrix:
|
||||
- env: CONFIG=""
|
||||
os: osx
|
||||
compiler: clang
|
||||
# Plain Trusty System Build
|
||||
- env: CONFIG="--disable-linux-user"
|
||||
sudo: required
|
||||
addons:
|
||||
dist: trusty
|
||||
compiler: gcc
|
||||
before_install:
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get build-dep -qq qemu
|
||||
- wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
|
||||
- git submodule update --init --recursive
|
||||
# Plain Trusty Linux User Build
|
||||
- env: CONFIG="--disable-system"
|
||||
sudo: required
|
||||
addons:
|
||||
dist: trusty
|
||||
compiler: gcc
|
||||
before_install:
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get build-dep -qq qemu
|
||||
- wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
|
||||
- git submodule update --init --recursive
|
||||
# Trusty System build with latest stable clang & python 3.0
|
||||
- sudo: required
|
||||
addons:
|
||||
dist: trusty
|
||||
language: generic
|
||||
compiler: none
|
||||
# Python builds
|
||||
- env: CONFIG="--target-list=x86_64-softmmu"
|
||||
python:
|
||||
- "3.0"
|
||||
env:
|
||||
- COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
|
||||
- CONFIG="--disable-linux-user --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3"
|
||||
before_install:
|
||||
- wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
- sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install -qq -y clang-3.9
|
||||
- sudo apt-get build-dep -qq qemu
|
||||
- wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
|
||||
- git submodule update --init --recursive
|
||||
before_script:
|
||||
- ./configure ${CONFIG} || cat config.log
|
||||
# Trusty Linux User build with latest stable clang & python 3.6
|
||||
- sudo: required
|
||||
addons:
|
||||
dist: trusty
|
||||
language: generic
|
||||
compiler: none
|
||||
- env: CONFIG="--target-list=x86_64-softmmu"
|
||||
python:
|
||||
- "3.6"
|
||||
env:
|
||||
- COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9
|
||||
- CONFIG="--disable-system --cc=clang-3.9 --cxx=clang++-3.9 --python=/usr/bin/python3"
|
||||
before_install:
|
||||
- wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
- sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main'
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install -qq -y clang-3.9
|
||||
- sudo apt-get build-dep -qq qemu
|
||||
- wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
|
||||
- git submodule update --init --recursive
|
||||
before_script:
|
||||
- ./configure ${CONFIG} || cat config.log
|
||||
# Using newer GCC with sanitizers
|
||||
- addons:
|
||||
apt:
|
||||
update: true
|
||||
sources:
|
||||
# PPAs for newer toolchains
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
# Extra toolchains
|
||||
- gcc-5
|
||||
- g++-5
|
||||
- gcc-7
|
||||
- g++-7
|
||||
# Build dependencies
|
||||
- libaio-dev
|
||||
- libattr1-dev
|
||||
@ -197,8 +147,8 @@ matrix:
|
||||
language: generic
|
||||
compiler: none
|
||||
env:
|
||||
- COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
|
||||
- CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user"
|
||||
- COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7
|
||||
- CONFIG="--cc=gcc-7 --cxx=g++-7 --disable-pie --disable-linux-user"
|
||||
- TEST_CMD=""
|
||||
before_script:
|
||||
- ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || cat config.log
|
||||
|
@ -4,7 +4,8 @@
|
||||
|
||||
DOCKER_SUFFIX := .docker
|
||||
DOCKER_FILES_DIR := $(SRC_PATH)/tests/docker/dockerfiles
|
||||
DOCKER_IMAGES := $(notdir $(basename $(wildcard $(DOCKER_FILES_DIR)/*.docker)))
|
||||
DOCKER_DEPRECATED_IMAGES := debian
|
||||
DOCKER_IMAGES := $(filter-out $(DOCKER_DEPRECATED_IMAGES),$(sort $(notdir $(basename $(wildcard $(DOCKER_FILES_DIR)/*.docker)))))
|
||||
DOCKER_TARGETS := $(patsubst %,docker-image-%,$(DOCKER_IMAGES))
|
||||
# Use a global constant ccache directory to speed up repetitive builds
|
||||
DOCKER_CCACHE_DIR := $$HOME/.cache/qemu-docker-ccache
|
||||
@ -63,7 +64,7 @@ docker-image-debian-win64-cross: docker-image-debian8-mxe
|
||||
docker-image-travis: NOUSER=1
|
||||
|
||||
# Expand all the pre-requistes for each docker image and test combination
|
||||
$(foreach i,$(DOCKER_IMAGES), \
|
||||
$(foreach i,$(DOCKER_IMAGES) $(DOCKER_DEPRECATED_IMAGES), \
|
||||
$(foreach t,$(DOCKER_TESTS) $(DOCKER_TOOLS), \
|
||||
$(eval .PHONY: docker-$t@$i) \
|
||||
$(eval docker-$t@$i: docker-image-$i docker-run-$t@$i) \
|
||||
|
@ -1,8 +1,13 @@
|
||||
FROM quay.io/travisci/travis-ruby
|
||||
FROM travisci/ci-garnet:packer-1512502276-986baf0
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
RUN cat /etc/apt/sources.list | sed "s/# deb-src/deb-src/" >> /etc/apt/sources.list
|
||||
RUN apt-get update
|
||||
RUN apt-get -y build-dep qemu
|
||||
RUN apt-get -y install device-tree-compiler python2.7 python-yaml dh-autoreconf gdb strace lsof net-tools
|
||||
ENV FEATURES pyyaml
|
||||
# Travis tools require PhantomJS / Neo4j / Maven accessible
|
||||
# in their PATH (QEMU build won't access them).
|
||||
ENV PATH /usr/local/phantomjs/bin:/usr/local/phantomjs:/usr/local/neo4j-3.2.7/bin:/usr/local/maven-3.5.2/bin:/usr/local/cmake-3.9.2/bin:/usr/local/clang-5.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
ENV FEATURES clang pyyaml
|
||||
USER travis
|
||||
|
Loading…
Reference in New Issue
Block a user