Skip to content

Commit 94d55ae

Browse files
committed
Configure docker-compose to build against different LLVM versions
1 parent c315f18 commit 94d55ae

File tree

3 files changed

+71
-7
lines changed

3 files changed

+71
-7
lines changed

.travis.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
language: cpp
2-
sudo: false
3-
compiler: clang
2+
sudo: required
3+
compiler: gcc
44

55
script:
6-
- mkdir -p target
7-
- cd target
8-
- cmake ..
9-
- make
10-
- ./scalaBindgen /usr/include/ctype.h -name ctype
6+
- docker-compose build ubuntu-16.04-llvm-$LLVM_VERSION
7+
- docker run --rm -ti scala-native-bindgen:ubuntu-16.04-llvm-$LLVM_VERSION /usr/include/ctype.h -name ctype --
8+
- docker run --rm -ti scala-native-bindgen:ubuntu-16.04-llvm-$LLVM_VERSION
9+
10+
matrix:
11+
include:
12+
- env: LLVM_VERSION=dev
13+
- env: LLVM_VERSION=6.0
14+
- env: LLVM_VERSION=5.0

Dockerfile

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
ARG UBUNTU_VERSION=16.04
2+
FROM ubuntu:$UBUNTU_VERSION
3+
4+
RUN set -x \
5+
&& apt update \
6+
&& apt install -y curl build-essential \
7+
&& rm -rf /var/lib/apt/lists/*
8+
9+
WORKDIR /cmake
10+
ARG CMAKE_ARCHIVE=cmake-3.11.2-Linux-x86_64
11+
RUN curl https://cmake.org/files/v3.11/$CMAKE_ARCHIVE.tar.gz | tar zxf - \
12+
&& for i in bin share; do \
13+
cp -r /cmake/$CMAKE_ARCHIVE/$i/* /usr/$i/; \
14+
done \
15+
&& rm -rf /cmake
16+
17+
ARG LLVM_VERSION=6.0
18+
# LLVM dev versions do not have a "-x.y" version suffix.
19+
ARG LLVM_DEB_COMPONENT=-$LLVM_VERSION
20+
RUN set -x \
21+
&& curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \
22+
&& . /etc/lsb-release \
23+
&& echo "deb http://apt.llvm.org/$DISTRIB_CODENAME/ llvm-toolchain-$DISTRIB_CODENAME$LLVM_DEB_COMPONENT main" > /etc/apt/sources.list.d/llvm.list \
24+
&& apt update \
25+
&& apt install -y clang-$LLVM_VERSION libclang-$LLVM_VERSION-dev make \
26+
&& rm -rf /var/lib/apt/lists/*
27+
28+
WORKDIR /src/target
29+
COPY . /src
30+
RUN cmake .. && make VERBOSE=1
31+
32+
ENTRYPOINT ["/src/target/scalaBindgen"]

docker-compose.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
version: '3'
2+
3+
services:
4+
ubuntu-16.04-llvm-dev:
5+
image: scala-native-bindgen:ubuntu-16.04-llvm-dev
6+
build:
7+
context: .
8+
args:
9+
- UBUNTU_VERSION=16.04
10+
- LLVM_VERSION=7
11+
- LLVM_DEB_COMPONENT=
12+
13+
ubuntu-16.04-llvm-6.0:
14+
image: scala-native-bindgen:ubuntu-16.04-llvm-6.0
15+
build:
16+
context: .
17+
args:
18+
- UBUNTU_VERSION=16.04
19+
- LLVM_VERSION=6.0
20+
21+
ubuntu-16.04-llvm-5.0:
22+
image: scala-native-bindgen:ubuntu-16.04-llvm-5.0
23+
build:
24+
context: .
25+
args:
26+
- UBUNTU_VERSION=16.04
27+
- LLVM_VERSION=5.0
28+

0 commit comments

Comments
 (0)