Use C++14 compilers in Docker on Travis.

This commit is contained in:
Sadie Powell 2018-07-31 01:32:00 +01:00
parent 9828a06514
commit cf95aaaa23
4 changed files with 42 additions and 18 deletions

1
.gitignore vendored
View File

@ -4,6 +4,7 @@
.*
!.git*
!.travis
/.configure
/Makefile

View File

@ -1,10 +1,17 @@
compiler:
- clang
- gcc
dist: trusty
language: cpp
before_install:
- sed --in-place s/@GID@/$(id -g)/g ${TRAVIS_BUILD_DIR}/.travis/Dockerfile
- sed --in-place s/@UID@/$(id -u)/g ${TRAVIS_BUILD_DIR}/.travis/Dockerfile
- docker build --tag inspircd ${TRAVIS_BUILD_DIR}/.travis
env:
- CXX=clang++-3.8
- CXX=g++-5
language: minimal
notifications:
email: false
script:
- sh ./tools/travis-ci.sh
- MODULES="m_geoip.cpp,m_ldap.cpp,m_mysql.cpp,m_pgsql.cpp,m_regex_pcre.cpp,m_regex_posix.cpp,m_regex_re2.cpp,m_regex_tre.cpp,m_sqlite3.cpp,m_ssl_gnutls.cpp,m_ssl_mbedtls.cpp,m_ssl_openssl.cpp,m_sslrehashsignal.cpp"
- docker run --env PWD=/home/travis/inspircd --env TEST_BUILD_MODULES=$MODULES --volume ${TRAVIS_BUILD_DIR}:/home/travis/inspircd --workdir /home/travis/inspircd inspircd ./tools/test-build $CXX
- docker stop $(docker ps --latest --quiet)
services:
- docker
sudo: required

28
.travis/Dockerfile Normal file
View File

@ -0,0 +1,28 @@
FROM ubuntu:16.04
# Install the required dependencies.
RUN apt-get update --assume-yes
RUN apt-get install --assume-yes --no-install-recommends \
clang-3.8 \
g++-5 \
git \
make \
libc++-dev \
pkg-config
RUN apt-get install --assume-yes --no-install-recommends \
libgeoip-dev \
libgnutls-dev \
libldap2-dev \
libmbedtls-dev \
libmysqlclient-dev \
libpcre3-dev \
libpq-dev \
libre2-dev \
libsqlite3-dev \
libssl-dev \
libtre-dev
# Add a group/user to run the build as.
RUN groupadd --gid @GID@ -- travis
RUN useradd --create-home --gid @GID@ --uid @UID@ -- travis
USER @UID@:@GID@

View File

@ -1,12 +0,0 @@
#!/bin/bash
set -ev
if [ "$TRAVIS_OS_NAME" = "linux" ]
then
sudo apt-get update --assume-yes
sudo apt-get install --assume-yes libgeoip-dev libgnutls-dev libldap2-dev libmysqlclient-dev libpcre3-dev libpq-dev libsqlite3-dev libssl-dev libtre-dev
else
>&2 echo "'$TRAVIS_OS_NAME' is an unknown Travis CI environment!"
exit 1
fi
export TEST_BUILD_MODULES="m_geoip.cpp,m_ldap.cpp,m_mysql.cpp,m_pgsql.cpp,m_regex_pcre.cpp,m_regex_posix.cpp,m_regex_tre.cpp,m_sqlite3.cpp,m_ssl_gnutls.cpp,m_ssl_openssl.cpp"
./tools/test-build $CXX