-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
146 lines (118 loc) · 3.95 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
os:
- linux
language:
- minimal
services:
- docker
# Container setup.
before_install:
- |
docker build -t ci-image - <<EOF
FROM jjmerelo/raku-test
USER root
RUN ["apk", "add", "--no-cache", "bash"]
RUN addgroup -S ci-runner && adduser -S ci-runner -G ci-runner
RUN mkdir /build && chown ci-runner: /build
VOLUME /build
USER ci-runner
WORKDIR /build
# skip here-document terminator due to Travis silliness; produces a warning
- docker images
env:
global:
regression: 0
matrix:
fast_finish: true
allow_failures:
- regression: 1
include:
-
name: "Tests"
script: |
docker run -t \
--name container-env \
--volume "$TRAVIS_BUILD_DIR":/build \
--entrypoint bash \
ci-image -c '
# fail on first error
set -Eeuo pipefail
# no testing the dependencies
zef install --/test --deps-only .
# run tests and test installation
zef install .
'
-
name: "HPM Regression Testing"
regression: 1
script: |
# includes --user workaround for jjmerelo/raku-test
docker run -t \
--name container-env \
--volume "$TRAVIS_BUILD_DIR":/build \
--entrypoint bash \
--user root \
ci-image -c '
# fail on first error
set -Eeuo pipefail
# no testing the dependencies
zef install --/test --deps-only .
# optional, for colour
zef install --/test Terminal::ANSIColor || true
# install, no testing
zef install --/test .
# fetch & prepare HPM
HPM_0_4_5=https://github.com/arkhometha/Historical-Project-Mod/archive/v0.4.5.2.zip
wget -O HPM.zip "$HPM_0_4_5"
unzip -q HPM.zip
mv Historical-Project-Mod-0.4.5.2 HPM
cat >hpm.whitelist <<EOF
EOF
# run regression test
vic2-companion --heartbeat --whitelist=hpm.whitelist .
'
-
name: "HFM Regression Testing"
regression: 1
script: |
# includes --user workaround for jjmerelo/raku-test
docker run -t \
--name container-env \
--volume "$TRAVIS_BUILD_DIR":/build \
--entrypoint bash \
--user root \
ci-image -c '
# fail on first error
set -Eeuo pipefail
# no testing the dependencies
zef install --/test --deps-only .
# optional, for colour
zef install --/test Terminal::ANSIColor || true
# install, no testing
zef install --/test .
fetch_single_commit()
{
[ "$#" -eq 3 ] || die "invalid number of arguments"
dest="$1"
repo="$2"
rev="$3"
mkdir "$dest" && pushd "$dest"
git init \
&& git remote add origin "$repo" \
&& git fetch --depth 1 origin "$rev" \
&& git reset --hard FETCH_HEAD
popd
}
# fetch & prepare HFM
HFM_1_27_F=38ca75c40063e08cbf696140e0ea68d76e6ace9d
fetch_single_commit HFM https://github.com/SighPie/HFM.git "$HFM_1_27_F"
cat >hfm.whitelist <<EOF
# invention typo
history/countries/GRE - Greece.txt
# ad hoc call to arms war
events/BoerWar.txt
map/province_flag_sprites/kiel_canal.txt
map/province_flag_sprites/suez_canal.txt
EOF
# run regression test
vic2-companion --heartbeat --whitelist=hfm.whitelist .
'