forked from lovasoa/bad_json_parsers
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
163 lines (142 loc) · 4.61 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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
dist: bionic
language: shell
os: linux
before_install:
- cat /proc/meminfo
- ulimit -a
install: "true" # Install nothing by default
jobs:
include:
- name: perl
install: sudo apt-get -y install perl
script: ./test_parser.py perl parser_perl.pl
- language: python
python: 3.8
script: ./test_parser.py python parser_python.py
- language: ruby
install: gem install oj
script:
- ./test_parser.py ./parser_ruby.rb
- ./test_parser.py $(which ruby) ./parser_ruby_oj.rb
- language: java
jdk: openjdk12
install:
- mvn -f parser-java-jackson/pom.xml clean install -DskipTests
- mvn -f parser_java_gson/pom.xml clean compile assembly:single
script:
- ./test_parser.py java -jar parser-java-jackson/target/bad-parser-jackson-1.0-SNAPSHOT.jar
- ./test_parser.py java -jar parser_java_gson/target/jsonparser-1-jar-with-dependencies.jar
cache:
directories:
- $HOME/.m2
- language: node_js
node_js: "8"
script: ./test_parser.py node parser_javascript.js
- language: go
install:
- go build parser_go.go
- go get github.com/json-iterator/go && go build parser_go_jsoniter.go
script:
- ./test_parser.py ./parser_go
- ./test_parser.py ./parser_go_jsoniter
- language: csharp
mono: none
dotnet: 3.0
script:
- ./test_parser.py dotnet run -p parser_dotnet
- ./test_parser.py dotnet run -p parser_dotnet_system_text_json
- language: c
install: sudo apt-get -y install libjansson-dev
script:
- cd parser_c_jansson && make && cd ..
- ./test_parser.py ./parser_c_jansson/parser_c_jansson
- language: cpp
install:
- wget -O parser_cpp/json.hpp https://github.com/nlohmann/json/releases/download/v3.7.2/json.hpp
- sudo apt-get -y install rapidjson-dev
script:
- cd parser_cpp && g++ -std=c++11 -O3 -flto -DNDEBUG parser_cpp.cpp -o parser_cpp
- ../test_parser.py ./parser_cpp
- cd $TRAVIS_BUILD_DIR/parser_cpp_rapidjson && g++ -O3 -flto parser_cpp_rapidjson.cpp -o parser_cpp_rapidjson
- ../test_parser.py ./parser_cpp_rapidjson
- language: php
php: "7.1"
script: ./test_parser.py php ./parser_php.php
- language: haskell
ghc: ["8.8"]
cabal: "3.0"
install:
- cd parser_haskell
- cabal install --only-dependencies
script: ../test_parser.py cabal run
cache:
directories:
- $HOME/.cabal/packages
- $HOME/.cabal/store
- $HOME/.cabal/bin
- language: rust
install: cd parser_rust && cargo build --release && cd ..
script: ./test_parser.py ./parser_rust/target/release/parser_rust
cache:
directories:
- $TRAVIS_BUILD_DIR/parser_rust/target
- $HOME/.cargo
- name: ocaml
env: OPAMYES=true
install:
- sudo apt-get -y install ocaml ocaml-native-compilers camlp4-extra opam
- opam init --auto-setup
- eval $(opam config env)
- opam install --yes yojson ocamlfind
- cd parser_ocaml_yojson && make && cd ..
script: ./test_parser.py ./parser_ocaml_yojson/parser_ocaml
- name: nim
env: CHOOSENIM_NO_ANALYTICS=1
install:
- export PATH=~/.nimble/bin:$PATH
- nim -v || (curl https://nim-lang.org/choosenim/init.sh -sSf | bash -s -- -y)
- choosenim stable
script:
- nim c -d:release parser_nim.nim
- ./test_parser.py ./parser_nim
cache:
directories:
- $HOME/.nimble
- $HOME/.choosenim
- language: d
install: dmd parser_d.d
script: ./test_parser.py ./parser_d
- language: elixir
elixir: 1.9.0
install:
- cd parser_elixir
script:
- mix local.hex --force
- mix deps.get
- mix escript.build
- cd ..
- ./test_parser.py ./parser_elixir/parser_elixir
- name: jq
install:
- wget 'https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64'
- chmod +x ./jq-linux64
script: ./test_parser.py ./jq-linux64 .
- name: PostgreSQL
services:
- postgresql
addons:
postgresql: "11"
apt:
packages:
- postgresql-11
- postgresql-client-11
script: ./test_parser.py ./parser_postgresql.sh
- os: osx
osx_image: xcode11.2
before_install:
- vm_stat
- ulimit -a
script:
- cd parser_swift
- xcodebuild
- ../test_parser.py ./build/Release/parser_swift