summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.ci/Dockerfile-Debian9111
-rw-r--r--.ci/Dockerfile-Fedora2611
-rw-r--r--.ci/Dockerfile-Ubuntu170411
-rwxr-xr-x.ci/ci-linux-build.sh10
-rwxr-xr-x.ci/ci-osx-build.sh16
-rwxr-xr-x.ci/ci-osx-deps.sh4
-rw-r--r--.travis.yml29
7 files changed, 92 insertions, 0 deletions
diff --git a/.ci/Dockerfile-Debian91 b/.ci/Dockerfile-Debian91
new file mode 100644
index 0000000..10d8a1e
--- /dev/null
+++ b/.ci/Dockerfile-Debian91
@@ -0,0 +1,11 @@
1FROM debian:9.1
2
3# Install
4RUN apt-get update -y
5RUN apt-get install -y make gcc bison flex gawk subversion automake autoconf doxygen check autotools-dev autoconf-archive autopoint libtool gettext libpam0g-dev libfreetype6-dev libpng-dev zlib1g-dev libjpeg-dev libdbus-1-dev luajit libluajit-5.1-dev libx11-dev libxcursor-dev libxrender-dev libxrandr-dev libxfixes-dev libxdamage-dev libxcomposite-dev libxss-dev libxext-dev libxinerama-dev libxkbfile-dev libxtst-dev libxcb1-dev libxcb-shape0-dev libxcb-keysyms1-dev libpulse-dev libsndfile1-dev libudev-dev libblkid-dev libmount-dev libgstreamer1.0-dev libtiff5-dev libgif-dev curl libssl-dev libspectre-dev libpoppler-dev librsvg2-dev libraw-dev libxinerama-dev git libfribidi-dev libcogl-gles2-dev libbullet-dev libgstreamer-plugins-base1.0-dev libvlc-dev libpoppler-cpp-dev libsystemd-dev systemd libsystemd0
6
7# Build
8RUN mkdir -p /src/
9WORKDIR /src/
10COPY . /src/
11RUN .ci/ci-linux-build.sh
diff --git a/.ci/Dockerfile-Fedora26 b/.ci/Dockerfile-Fedora26
new file mode 100644
index 0000000..50afa45
--- /dev/null
+++ b/.ci/Dockerfile-Fedora26
@@ -0,0 +1,11 @@
1FROM fedora:26
2
3# Install
4RUN dnf update --assumeyes
5RUN dnf install --assumeyes bullet-devel libpng-devel libjpeg-turbo-devel gstreamer1-devel gstreamer1-plugins-base-devel zlib-devel luajit-devel libtiff-devel openssl-devel libcurl-devel dbus-devel glibc-devel fontconfig-devel freetype-devel fribidi-devel pulseaudio-libs-devel libsndfile-devel libX11-devel libXau-devel libXcomposite-devel libXdamage-devel libXdmcp-devel libXext-devel libXfixes-devel libXinerama-devel libXrandr-devel libXrender-devel libXScrnSaver-devel libXtst-devel libXcursor-devel libXp-devel libXi-devel mesa-libGL-devel giflib-devel libmount-devel libblkid-devel systemd-devel poppler-cpp-devel poppler-devel LibRaw-devel libspectre-devel librsvg2-devel autoconf automake gcc gcc-c++ gettext-devel findutils tar xz libtool make
6
7# Build
8RUN mkdir -p /src/
9WORKDIR /src/
10COPY . /src/
11RUN .ci/ci-linux-build.sh
diff --git a/.ci/Dockerfile-Ubuntu1704 b/.ci/Dockerfile-Ubuntu1704
new file mode 100644
index 0000000..426ac9e
--- /dev/null
+++ b/.ci/Dockerfile-Ubuntu1704
@@ -0,0 +1,11 @@
1FROM ubuntu:17.04
2
3# Install
4RUN apt-get update -y
5RUN apt-get install -y build-essential autoconf automake autopoint doxygen check luajit libharfbuzz-dev libpng-dev libudev-dev libwebp-dev libssl-dev libluajit-5.1-dev libfribidi-dev libcogl-gles2-dev libgif-dev libtiff5-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libdbus-1-dev libmount-dev libblkid-dev libpulse-dev libxrandr-dev libxtst-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxkbfile-dev libbullet-dev libvlc-dev libsndfile1-dev libraw-dev libspectre-dev libpoppler-cpp-dev libpam0g-dev liblz4-dev faenza-icon-theme gettext git imagemagick libasound2-dev libbluetooth-dev libfontconfig1-dev libfreetype6-dev libibus-1.0-dev libiconv-hook-dev libjpeg-dev libjpeg-turbo8-dev libpoppler-dev libpoppler-private-dev libproxy-dev librsvg2-dev libscim-dev libsystemd-dev libtool libudisks2-dev libunibreak-dev libxcb-keysyms1-dev libxine2-dev libxss-dev linux-tools-common libcurl4-openssl-dev
6
7# Build
8RUN mkdir -p /src/
9WORKDIR /src/
10COPY . /src/
11RUN .ci/ci-linux-build.sh
diff --git a/.ci/ci-linux-build.sh b/.ci/ci-linux-build.sh
new file mode 100755
index 0000000..5472495
--- /dev/null
+++ b/.ci/ci-linux-build.sh
@@ -0,0 +1,10 @@
1#!/bin/sh
2
3COPTS="--with-tests=regular"
4PARALLEL_JOBS=10
5
6# Normal build test of all targets
7./autogen.sh $COPTS $@
8make -j $PARALLEL_JOBS
9make -j $PARALLEL_JOBS examples
10make -j $PARALLEL_JOBS benchmark
diff --git a/.ci/ci-osx-build.sh b/.ci/ci-osx-build.sh
new file mode 100755
index 0000000..bc2a056
--- /dev/null
+++ b/.ci/ci-osx-build.sh
@@ -0,0 +1,16 @@
1#!/bin/sh
2
3COPTS="--with-crypto=none --disable-pulseaudio --disable-cxx-bindings"
4PARALLEL_JOBS=10
5
6# Prepare OSX env for build
7mkdir -p ~/Library/LaunchAgents
8ln -sfv /usr/local/opt/d-bus/*.plist ~/Library/LaunchAgents
9launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
10export PATH="$(brew --prefix gettext)/bin:$PATH"
11
12# Normal build test of all targets
13./autogen.sh $COPTS $@
14make -j $PARALLEL_JOBS
15make -j $PARALLEL_JOBS examples
16#make -j $PARALLEL_JOBS benchmark
diff --git a/.ci/ci-osx-deps.sh b/.ci/ci-osx-deps.sh
new file mode 100755
index 0000000..4be656a
--- /dev/null
+++ b/.ci/ci-osx-deps.sh
@@ -0,0 +1,4 @@
1#!/bin/sh
2
3brew update
4brew install gettext check bullet dbus fontconfig freetype fribidi gst-plugins-good gstreamer luajit openssl webp libsndfile glib libspectre libraw librsvg poppler lz4
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..209a1e0
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,29 @@
1language: c
2
3sudo: required
4dist: trusty
5
6os: linux
7
8services:
9 - docker
10
11before_install:
12 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then .ci/ci-osx-deps.sh ; fi
13
14matrix:
15 include:
16 - env: DISTRO=Ubuntu1704
17 - env: DISTRO=Fedora26
18 - env: DISTRO=Debian91
19 - os: osx
20 osx_image: xcode7.3
21 - os: osx
22 osx_image: xcode8.3
23
24# Xcode 7.3.1, OS X 10.11
25# Xcode 8.3.3, OS X 10.12
26
27script:
28 - if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then docker build -f .ci/Dockerfile-$DISTRO . ; fi
29 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then .ci/ci-osx-build.sh ; fi