f393bbcd68322d223a09e39b33f29ee600b6a55e
[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 cache:
20 apt: true
21 directories:
22 - $HOME/cache
23 before_cache:
24 - find $HOME/cache -name '*.gcda' -o -name '*.gcno' -delete
25
26 env:
27 <?php
28
29 $gen = include "./travis/pecl/gen-matrix.php";
30 $cur = "7.3";
31 $env = $gen([
32 // most useful for all additional versions except current
33 "PHP" => ["7.0", "7.1", "7.2", "7.4", "master"],
34 "enable_debug" => "yes",
35 "enable_maintainer_zts" => "yes",
36 "enable_json" => "yes",
37 "enable_hash" => "yes",
38 "enable_iconv" => "yes",
39 ], [
40 // everything disabled for current
41 "PHP" => $cur,
42 "with_http_libicu_dir" => "no",
43 "with_http_libidn_dir" => "no",
44 "with_http_libidn2_dir" => "no",
45 "with_http_libcurl_dir" => "no",
46 "with_http_libevent_dir" => "no",
47 "with_http_libbrotli_dir" => "no",
48 ], [
49 // everything enabled for current, switching debug/zts
50 "PHP" => $cur,
51 "PECLs" => "event", // for tests/client029.phpt
52 "enable_sockets" => "yes", // needed by pecl/event
53 "enable_debug",
54 "enable_maintainer_zts",
55 "enable_json" => "yes",
56 "enable_hash" => "yes",
57 "enable_iconv" => "yes",
58 ], [
59 // once everything enabled for current, with coverage
60 "CFLAGS" => "'-O0 -g --coverage'",
61 "CXXFLAGS" => "'-O0 -g --coverage'",
62 "PHP" => $cur,
63 "PECLs" => "event", // for tests/client029.phpt
64 "enable_sockets" => "yes", // needed by pecl/event
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|7.4) /', $a);
87 }, $env));
88 foreach ($allow_failures as $e) {
89 printf(" - env: %s\n", $e);
90 }
91 ?>
92
93 install:
94 - |
95 if test "$PHP" = master; then \
96 make -f travis/pecl/Makefile reconf; \
97 make -f travis/pecl/Makefile pecl-rm pecl-clean PECL=ext-raphf.git:raphf:master; \
98 make -f travis/pecl/Makefile pecl-rm pecl-clean PECL=ext-propro.git:propro:master; \
99 fi
100 - make -f travis/pecl/Makefile php || make -f travis/pecl/Makefile clean php
101 - make -f travis/pecl/Makefile pecl PECL=ext-raphf.git:raphf:master
102 - make -f travis/pecl/Makefile pecl PECL=ext-propro.git:propro:master
103 - |
104 if test -n "$PECLs"; then \
105 IFS=$','; \
106 for pecl in $PECLs; do \
107 make -f travis/pecl/Makefile pecl PECL=$pecl; \
108 done; \
109 unset IFS; \
110 fi
111
112 script:
113 - make -f travis/pecl/Makefile ext PECL=http
114 - make -f travis/pecl/Makefile test
115
116 after_script:
117 - make -f travis/pecl/Makefile cppcheck
118 after_failure:
119 - test -e tests/helper/server.log && cat tests/helper/server.log
120 after_success:
121 - test -n "$CFLAGS" && cd src/.libs && bash <(curl -s https://codecov.io/bash) -X xcode -X coveragepy
122
123 notifications:
124 webhooks:
125 urls:
126 - https://webhooks.gitter.im/e/28d35158ac7e385bd14d
127 on_success: change
128 on_failure: always
129 on_start: never