Skip to content

Commit e21dde4

Browse files
author
Ellery Newcomer
committed
docker based travis ci
1 parent 9b64832 commit e21dde4

File tree

6 files changed

+106
-231
lines changed

6 files changed

+106
-231
lines changed

.travis.yml

+36-230
Original file line numberDiff line numberDiff line change
@@ -1,233 +1,39 @@
1-
sudo: false
2-
3-
os:
4-
- linux
5-
- osx
6-
7-
language: d
8-
9-
d:
10-
- dmd-2.073.0
11-
- dmd-2.072.2
12-
- dmd-2.071.2
13-
- dmd-2.070.2
14-
- dmd-2.069.2
15-
- dmd-2.068.2
16-
- dmd-2.067.1
17-
- ldc-1.1.0
18-
- ldc-1.0.0
19-
# - ldc-0.17.3 # wtf, travis?
20-
- ldc-0.16.1
21-
#- gdc-6.3.0 # wtf, travis?
22-
23-
matrix:
24-
allow_failures:
25-
- d: ldc-0.15.1
26-
env: TEST=runtests:test_extra
27-
- d: ldc-0.16.1
28-
env: TEST=runtests:test_extra
29-
- d: ldc-1.0.0
30-
env: TEST=runtests:test_extra
31-
- d: ldc-1.1.0
32-
env: TEST=runtests:test_extra
33-
34-
exclude:
35-
- d: dmd-2.067.1
36-
env: TEST=runtests:test_hello
37-
- d: dmd-2.067.1
38-
env: TEST=runtests:test_many_libs
39-
- d: dmd-2.067.1
40-
env: TEST=runtests:test_arraytest
41-
- d: dmd-2.067.1
42-
env: TEST=runtests:test_inherit
43-
- d: dmd-2.067.1
44-
env: TEST=runtests:test_rawexample
45-
- d: dmd-2.067.1
46-
env: TEST=runtests:test_testdll
47-
- d: dmd-2.067.1
48-
env: TEST=runtests:test_multithreading
49-
- d: dmd-2.067.1
50-
env: TEST=runtests:test_def
51-
- d: dmd-2.067.1
52-
env: TEST=runtests:test_d_and_c
53-
- d: dmd-2.067.1
54-
env: TEST=runtests:test_compare_offsets
55-
56-
- d: ldc-1.1.0
57-
env: TEST=runtests:test_hello
58-
- d: ldc-1.1.0
59-
env: TEST=runtests:test_many_libs
60-
- d: ldc-1.1.0
61-
env: TEST=runtests:test_arraytest
62-
- d: ldc-1.1.0
63-
env: TEST=runtests:test_inherit
64-
- d: ldc-1.1.0
65-
env: TEST=runtests:test_rawexample
66-
- d: ldc-1.1.0
67-
env: TEST=runtests:test_testdll
68-
- d: ldc-1.1.0
69-
env: TEST=runtests:test_multithreading
70-
- d: ldc-1.1.0
71-
env: TEST=runtests:test_def
72-
- d: ldc-1.1.0
73-
env: TEST=runtests:test_d_and_c
74-
- d: ldc-1.1.0
75-
env: TEST=runtests:test_compare_offsets
76-
77-
- d: ldc-1.0.0
78-
env: TEST=runtests:test_hello
79-
- d: ldc-1.0.0
80-
env: TEST=runtests:test_many_libs
81-
- d: ldc-1.0.0
82-
env: TEST=runtests:test_arraytest
83-
- d: ldc-1.0.0
84-
env: TEST=runtests:test_inherit
85-
- d: ldc-1.0.0
86-
env: TEST=runtests:test_rawexample
87-
- d: ldc-1.0.0
88-
env: TEST=runtests:test_testdll
89-
- d: ldc-1.0.0
90-
env: TEST=runtests:test_multithreading
91-
- d: ldc-1.0.0
92-
env: TEST=runtests:test_def
93-
- d: ldc-1.0.0
94-
env: TEST=runtests:test_d_and_c
95-
- d: ldc-1.0.0
96-
env: TEST=runtests:test_compare_offsets
97-
98-
- d: ldc-0.16.1
99-
env: TEST=runtests:test_hello
100-
- d: ldc-0.16.1
101-
env: TEST=runtests:test_many_libs
102-
- d: ldc-0.16.1
103-
env: TEST=runtests:test_arraytest
104-
- d: ldc-0.16.1
105-
env: TEST=runtests:test_inherit
106-
- d: ldc-0.16.1
107-
env: TEST=runtests:test_rawexample
108-
- d: ldc-0.16.1
109-
env: TEST=runtests:test_testdll
110-
- d: ldc-0.16.1
111-
env: TEST=runtests:test_multithreading
112-
- d: ldc-0.16.1
113-
env: TEST=runtests:test_def
114-
- d: ldc-0.16.1
115-
env: TEST=runtests:test_d_and_c
116-
- d: ldc-0.16.1
117-
env: TEST=runtests:test_compare_offsets
118-
119-
- d: ldc-0.15.1
120-
env: TEST=runtests:test_hello
121-
- d: ldc-0.15.1
122-
env: TEST=runtests:test_many_libs
123-
- d: ldc-0.15.1
124-
env: TEST=runtests:test_arraytest
125-
- d: ldc-0.15.1
126-
env: TEST=runtests:test_inherit
127-
- d: ldc-0.15.1
128-
env: TEST=runtests:test_rawexample
129-
- d: ldc-0.15.1
130-
env: TEST=runtests:test_testdll
131-
- d: ldc-0.15.1
132-
env: TEST=runtests:test_multithreading
133-
- d: ldc-0.15.1
134-
env: TEST=runtests:test_def
135-
- d: ldc-0.15.1
136-
env: TEST=runtests:test_d_and_c
137-
- d: ldc-0.15.1
138-
env: TEST=runtests:test_compare_offsets
139-
140-
- d: gdc-4.9.2
141-
env: TEST=runtests:test_hello
142-
- d: gdc-4.9.2
143-
env: TEST=runtests:test_many_libs
144-
- d: gdc-4.9.2
145-
env: TEST=runtests:test_arraytest
146-
- d: gdc-4.9.2
147-
env: TEST=runtests:test_inherit
148-
- d: gdc-4.9.2
149-
env: TEST=runtests:test_rawexample
150-
- d: gdc-4.9.2
151-
env: TEST=runtests:test_testdll
152-
- d: gdc-4.9.2
153-
env: TEST=runtests:test_multithreading
154-
- d: gdc-4.9.2
155-
env: TEST=runtests:test_def
156-
- d: gdc-4.9.2
157-
env: TEST=runtests:test_d_and_c
158-
- d: gdc-4.9.2
159-
env: TEST=runtests:test_compare_offsets
160-
161-
- d: gdc-5.2.0
162-
env: TEST=runtests:test_hello
163-
- d: gdc-5.2.0
164-
env: TEST=runtests:test_many_libs
165-
- d: gdc-5.2.0
166-
env: TEST=runtests:test_arraytest
167-
- d: gdc-5.2.0
168-
env: TEST=runtests:test_inherit
169-
- d: gdc-5.2.0
170-
env: TEST=runtests:test_rawexample
171-
- d: gdc-5.2.0
172-
env: TEST=runtests:test_testdll
173-
- d: gdc-5.2.0
174-
env: TEST=runtests:test_multithreading
175-
- d: gdc-5.2.0
176-
env: TEST=runtests:test_def
177-
- d: gdc-5.2.0
178-
env: TEST=runtests:test_d_and_c
179-
- d: gdc-5.2.0
180-
env: TEST=runtests:test_compare_offsets
181-
182-
- d: gdc-4.9.2
183-
- d: gdc-5.2.0
184-
#- os: osx
185-
# d: gdc-4.9.2
186-
#- os: osx
187-
# d: gdc-5.2.0
188-
- os: osx
189-
env:
190-
- ARCH=x86
191-
- ARCH=x86_64
192-
193-
addons:
194-
apt:
195-
packages:
196-
- python3
197-
- python
198-
- python3-nose
199-
- python-nose
200-
- python3-numpy
201-
- python-numpy
202-
- python-dev
203-
- python3-dev
1+
sudo: required
2+
services:
3+
- docker
2044
env:
205-
- TEST=runtests:test_hello
206-
- TEST=runtests:test_many_libs
207-
- TEST=runtests:test_arraytest
208-
- TEST=runtests:test_inherit
209-
- TEST=runtests:test_rawexample
210-
- TEST=runtests:test_testdll
211-
- TEST=runtests:test_d_and_c
212-
- TEST=runtests:test_multithreading
213-
- TEST=runtests:PydUnittests
214-
- TEST=runtests:test_extra
215-
- TEST=runtests:DeimosUnittests
216-
- TEST=runtests:test_pyind
217-
- TEST=runtests:test_simple_embedded
218-
- TEST=runtests:test_interpcontext
219-
- TEST=runtests:test_def
220-
- TEST=runtests:test_pydobject
221-
- TEST=runtests:test_compare_offsets
222-
223-
install:
224-
- python3 setup.py install --user
225-
5+
- DC=dmd
6+
PYTHON=python
7+
DUBCFG=python37
8+
RUNSPEC=runtests
9+
DOCKER=ariovistus/pyd-test-env:stretch-dmd2_080-py37
10+
- DC=ldc
11+
PYTHON=python3
12+
DUBCFG=python35
13+
RUNSPEC=runtests
14+
DOCKER=ariovistus/pyd-test-env:ubuntu1604-ldc190-py35
15+
- DC=ldc
16+
PYTHON=python
17+
DUBCFG=python27
18+
RUNSPEC=runtests
19+
DOCKER=ariovistus/pyd-test-env:ubuntu1604-ldc190-py35
20+
- DC=ldc
21+
PYTHON=python3
22+
DUBCFG=python36
23+
RUNSPEC=runtests
24+
DOCKER=ariovistus/pyd-test-env:fedora28-ldc180-py36
25+
- DC=ldc
26+
PYTHON=python
27+
DUBCFG=python27
28+
RUNSPEC=runtests
29+
DOCKER=ariovistus/pyd-test-env:fedora28-ldc180-py36
30+
- DC=dmd
31+
PYTHON=python3
32+
DUBCFG=python34
33+
RUNSPEC=runtests
34+
DOCKER=ariovistus/pyd-test-env:jessie-dmd2_074-py34
22635
script:
227-
- python3 runtests.py --compiler=$DC $TEST
228-
- dub test
229-
- source setup/pyd_set_env_vars.sh python3 && dub test -c env
230-
36+
- docker run -v$(pwd)/:/src -e "COMPILER=$DC" -e "RUNSPEC=$RUNSPEC" -e "PYTHON=$PYTHON" -e "DUBCONFIG=$DUBCFG" -t $DOCKER bash runtests.sh
23137
jobs:
23238
include:
23339
- stage: deploy
@@ -236,14 +42,14 @@ jobs:
23642
os: linux
23743
language: python
23844
if: tag IS present
239-
45+
24046
before_deploy: python versionchecker.py
24147

24248
deploy:
24349
provider: pypi
24450
skip_cleanup: true
24551
user: ariovistus
246-
password:
52+
password:
24753
secure: "fBaxJv4pJOA2gq6VYlBUXKrGJmKN8TdNU1erFvH5ohvcSIpF4a95ElPpu7dBruMuorGYDXvHlfGhEFpaxxkpBWTknJwUp15HUvx1qMJnyfi9qxcID3ieRQ2lbrktiIkNwfjBKPP+nu4/uLg4P7ZgDdY1rGTGCBPOgc9FqVB1ny4="
24854
on:
24955
tags: true

envs/fedora28-ldc180-py36/Dockerfile

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from fedora:28
2+
3+
ENV \
4+
COMPILER=dmd \
5+
COMPILER_VERSION=2.082.0
6+
7+
run dnf install -y python-devel python-nose python-numpy
8+
run dnf install -y python3-devel python3-nose python3-numpy
9+
run dnf install -y ldc gcc xz
10+
RUN curl -fsS -o /tmp/install.sh https://dlang.org/install.sh \
11+
&& bash /tmp/install.sh -p /dlang install "${COMPILER}-${COMPILER_VERSION}" \
12+
&& rm /tmp/install.sh \
13+
&& rm -rf /dlang/${COMPILER}-*/linux/bin32 \
14+
&& rm -rf /dlang/${COMPILER}-*/linux/lib32 \
15+
&& rm -rf /dlang/${COMPILER}-*/html \
16+
&& rm -rf /dlang/dub-1.0.0/dub.tar.gz
17+
18+
ENV \
19+
PATH=/dlang/dub:/dlang/${COMPILER}-${COMPILER_VERSION}/linux/bin64:${PATH} \
20+
LD_LIBRARY_PATH=/dlang/${COMPILER}-${COMPILER_VERSION}/linux/lib64 \
21+
LIBRARY_PATH=/dlang/${COMPILER}-${COMPILER_VERSION}/linux/lib64 \
22+
PS1="(${COMPILER}-${COMPILER_VERSION}) \\u@\\h:\\w\$"
23+
workdir /src

envs/jessie-dmd2_074-py34/Dockerfile

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from python:3.4-jessie
2+
3+
ENV \
4+
COMPILER=dmd \
5+
COMPILER_VERSION=2.074.0
6+
7+
RUN apt-get update && apt-get install -y curl libcurl3 build-essential \
8+
&& curl -fsS -o /tmp/install.sh https://dlang.org/install.sh \
9+
&& bash /tmp/install.sh -p /dlang install "${COMPILER}-${COMPILER_VERSION}" \
10+
&& rm /tmp/install.sh \
11+
&& apt-get autoremove -y curl build-essential \
12+
&& apt-get install -y gcc \
13+
&& rm -rf /var/cache/apt \
14+
&& rm -rf /dlang/${COMPILER}-*/linux/bin32 \
15+
&& rm -rf /dlang/${COMPILER}-*/linux/lib32 \
16+
&& rm -rf /dlang/${COMPILER}-*/html \
17+
&& rm -rf /dlang/dub-1.0.0/dub.tar.gz
18+
19+
ENV \
20+
PATH=/dlang/dub:/dlang/${COMPILER}-${COMPILER_VERSION}/linux/bin64:${PATH} \
21+
LD_LIBRARY_PATH=/dlang/${COMPILER}-${COMPILER_VERSION}/linux/lib64 \
22+
LIBRARY_PATH=/dlang/${COMPILER}-${COMPILER_VERSION}/linux/lib64 \
23+
PS1="(${COMPILER}-${COMPILER_VERSION}) \\u@\\h:\\w\$"
24+
25+
RUN cd /tmp \
26+
&& echo 'void main() {import std.stdio; stdout.writeln("it works"); }' > test.d \
27+
&& dmd test.d \
28+
&& ./test && rm test*
29+
30+
RUN pip3 install nose numpy
31+
WORKDIR /src

envs/run.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
docker run -v$(pwd)/../:/pyd -it hazoo bash
1+
docker run -v$(pwd)/../:/src -e "COMPILER=dmd" -e "RUNSPEC=runtests" -e "PYTHON=python3.4" -e "DUBCONFIG=python34" -t jess bash runtests.sh
2+
#docker run -v$(pwd)/../:/src -e "COMPILER=dmd" -e "RUNSPEC=runtests" -e "PYTHON=python3.4" -e "DUBCONFIG=python34" -it jess bash
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from dlanguage/ldc:1.9.0
2+
3+
RUN apt-get update && apt-get install -y python python-dev python3 python3-dev python-pip python3-pip python-nose python-numpy python3-nose python3-numpy
4+
5+
WORKDIR /src

runtests.sh

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
3+
set -e
4+
$PYTHON setup.py install
5+
$PYTHON runtests.py $RUNSPEC --clean
6+
$PYTHON runtests.py $RUNSPEC --compiler $COMPILER
7+
8+
dub test --config=$DUBCONFIG
9+
source setup/pyd_set_env_vars.sh $PYTHON && dub test -c env

0 commit comments

Comments
 (0)