forked from kaitai-io/kaitai_struct
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
129 lines (111 loc) · 3.25 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
# version: 6
# Use Ubuntu Trusty 14.04 image; unfortunately, it requires "sudo: true"
# and thus is very slow :(
dist: trusty
sudo: true
language: scala
scala:
- 2.12.4
cache:
directories:
- $HOME/.ivy2
- $HOME/.cache/pip
env:
global:
- KAITAI_STRUCT_VERSION=0.9-SNAPSHOT${TRAVIS_BUILD_ID}
addons:
apt:
sources:
- mono
- sourceline: ppa:ondrej/php
- sourceline: ppa:ubuntu-cloud-archive/mitaka-staging
packages:
# Debian package build
- dpkg
- dpkg-sig
- dpkg-dev
- lintian
- fakeroot
# C++
- libboost-test-dev
- valgrind
# C#, Mono
- ca-certificates-mono
- mono-xbuild
- mono-mcs
- mono-devel
- nuget
# Perl
- libtest-class-perl # Test::Class for perl
# requirements of TAP::Harness::JUnit
- libtest-deep-perl # Test::Deep
- libxml-simple-perl # XML::Simple
- libmodule-build-perl # Module::Build
# Lua
- lua5.3
before_install:
- pyenv global system 3.6.3
- python --version
- python3 --version
- cd tests
install:
# Python 2
- pip install --user enum34
- pip install --user unittest-xml-reporting
- pip install --user construct
# Python 3
- pip3 install --user unittest-xml-reporting
- pip3 install --user construct
# Ruby
- gem install rspec
# JavaScript
- nvm install 5
- nvm use 5
- npm install mocha iconv-lite
# Java: poor man's maven implementation in 3 lines :)
- mkdir -p "$HOME/.m2/repository/org/testng/testng/6.9.10" "$HOME/.m2/repository/com/beust/jcommander/1.48"
- wget -O "$HOME/.m2/repository/org/testng/testng/6.9.10/testng-6.9.10.jar" http://jcenter.bintray.com/org/testng/testng/6.9.10/testng-6.9.10.jar
- wget -O "$HOME/.m2/repository/com/beust/jcommander/1.48/jcommander-1.48.jar" http://jcenter.bintray.com/com/beust/jcommander/1.48/jcommander-1.48.jar
# C#
- mono --version
- nuget restore spec/csharp/kaitai_struct_csharp_tests.sln
# PHP: switch to newer PHP
- phpenv global 7.1.11
- php --version
# PHP: newer PHPUnit, as the one in the repos is very old
- sudo rm -f $(which phpunit)
- wget https://phar.phpunit.de/phpunit.phar
- chmod +x phpunit.phar
- sudo mv phpunit.phar /usr/local/bin/phpunit
- phpunit --version
# Perl
- '(echo y; echo o conf prerequisites_policy follow; echo o conf commit) | sudo cpan'
- sudo cpan install TAP::Harness::JUnit
# Go
- eval "$(gimme 1.10)"
- go version
- go get github.com/stretchr/testify/assert
- go get golang.org/x/text
- go get github.com/jstemmer/go-junit-report
- go get gopkg.in/alecthomas/gometalinter.v2
- gometalinter.v2 --install
# Lua: getting luaunit is ugly, but this is actually almost literally what its README says
- wget https://raw.githubusercontent.com/bluebird75/luaunit/master/luaunit.lua
- sudo mkdir -p /usr/local/lib/lua/5.3/
- sudo mv luaunit.lua /usr/local/lib/lua/5.3/
script:
- ./build-compiler
- cd ../compiler
- sbt compilerJVM/debian:packageBin
- ./publish_to_bintray.sh
- cd ../tests
- ./publish-js-compiler
- ./translator-tests || true
- ./build-formats
- ./publish-targets
- ./ci-all
- ../update-ci-status
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/c6bd60df4d171f9d3789