travis: xenial
[m6w6/ext-http] / scripts / gen_travis_yml.php
1 #!/usr/bin/env php
2 # autogenerated file; do not edit
3 language: c
4
5 addons:
6 apt:
7 packages:
8 - php-cli
9 - php-pear
10 - libcurl4-openssl-dev
11 - libidn11-dev
12 - libidn2-0-dev
13 - libicu-dev
14 - libevent-dev
15 - libbrotli-dev
16
17 dist: xenial
18
19 compiler:
20 - gcc
21 - clang
22
23 cache:
24 apt: true
25 directories:
26 - $HOME/cache
27 before_cache:
28 - find $HOME/cache -name '*.gcda' -o -name '*.gcno' -delete
29
30 env:
31 <?php
32
33 $gen = include "./travis/pecl/gen-matrix.php";
34 $cur = "7.3";
35 $env = $gen([
36 // most useful for all additional versions except current
37 "PHP" => ["7.0", "7.1", "7.2", "master"],
38 "enable_debug" => "yes",
39 "enable_maintainer_zts" => "yes",
40 "enable_json" => "yes",
41 "enable_hash" => "yes",
42 "enable_iconv" => "yes",
43 ], [
44 // everything disabled for current
45 "PHP" => $cur,
46 "with_http_libicu_dir" => "no",
47 "with_http_libidn_dir" => "no",
48 "with_http_libidn2_dir" => "no",
49 "with_http_libcurl_dir" => "no",
50 "with_http_libevent_dir" => "no",
51 "with_http_libbrotli_dir" => "no",
52 ], [
53 // everything enabled for current, switching on debug/zts
54 "PHP" => $cur,
55 "enable_debug",
56 "enable_maintainer_zts",
57 "enable_json" => "yes",
58 "enable_hash" => "yes",
59 "enable_iconv" => "yes",
60 ], [
61 // once everything enabled for current, with coverage
62 "CFLAGS" => "'-O0 -g --coverage'",
63 "CXXFLAGS" => "'-O0 -g --coverage'",
64 "PHP" => $cur,
65 "enable_json" => "yes",
66 "enable_hash" => "yes",
67 "enable_iconv" => "yes",
68 [
69 "with_http_libicu_dir",
70 "with_http_libidn_dir",
71 "with_http_libidn2_dir",
72 ],
73 ]);
74 foreach ($env as $grp) {
75 foreach ($grp as $e) {
76 printf(" - %s\n", $e);
77 }
78 }
79 ?>
80
81 matrix:
82 fast_finish: true
83 allow_failures:
84 <?php
85 $allow_failures = array_merge( ... array_map(function($a) {
86 return preg_grep('/^PHP=master /', $a);
87 }, $env));
88 foreach ($allow_failures as $e) {
89 printf(" - env: %s\n", $e);
90 }
91 ?>
92
93 install:
94 - ./travis/brotli.sh v1.0.2
95 - |
96 if test "$PHP" = master; then \
97 make -f travis/pecl/Makefile reconf; \
98 make -f travis/pecl/Makefile pecl-rm pecl-clean PECL=ext-raphf.git:raphf:master; \
99 make -f travis/pecl/Makefile pecl-rm pecl-clean PECL=ext-propro.git:propro:master; \
100 fi
101 - make -f travis/pecl/Makefile php || make -f travis/pecl/Makefile clean php
102 - make -f travis/pecl/Makefile pecl PECL=ext-raphf.git:raphf:master
103 - make -f travis/pecl/Makefile pecl PECL=ext-propro.git:propro:master
104
105 script:
106 - make -f travis/pecl/Makefile ext PECL=http
107 - make -f travis/pecl/Makefile test
108
109 after_script:
110 - make -f travis/pecl/Makefile cppcheck
111 after_failure:
112 - test -e tests/helper/server.log && cat tests/helper/server.log
113 after_success:
114 - test -n "$CFLAGS" && cd src/.libs && bash <(curl -s https://codecov.io/bash) -X xcode -X coveragepy
115
116 notifications:
117 webhooks:
118 urls:
119 - https://webhooks.gitter.im/e/28d35158ac7e385bd14d
120 on_success: change
121 on_failure: always
122 on_start: never