X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=scripts%2Fgen_travis_yml.php;h=f393bbcd68322d223a09e39b33f29ee600b6a55e;hp=e42ec312b66e0a1b46f5388d80893c31cb3c4101;hb=cbfdc466d8a364445ba3389e876b7c7e7f0189b2;hpb=a84b499418ee7b8992fd9e7e2abc661735a869bd diff --git a/scripts/gen_travis_yml.php b/scripts/gen_travis_yml.php index e42ec31..f393bbc 100755 --- a/scripts/gen_travis_yml.php +++ b/scripts/gen_travis_yml.php @@ -5,45 +5,121 @@ language: c addons: apt: packages: - - php5-cli + - php-cli - php-pear - libcurl4-openssl-dev - - zlib1g-dev - libidn11-dev + - libidn2-0-dev + - libicu-dev - libevent-dev + - libbrotli-dev + +dist: xenial + +cache: + apt: true + directories: + - $HOME/cache +before_cache: + - find $HOME/cache -name '*.gcda' -o -name '*.gcno' -delete env: ["master"], +// most useful for all additional versions except current + "PHP" => ["7.0", "7.1", "7.2", "7.4", "master"], + "enable_debug" => "yes", + "enable_maintainer_zts" => "yes", + "enable_json" => "yes", + "enable_hash" => "yes", + "enable_iconv" => "yes", +], [ +// everything disabled for current + "PHP" => $cur, + "with_http_libicu_dir" => "no", + "with_http_libidn_dir" => "no", + "with_http_libidn2_dir" => "no", + "with_http_libcurl_dir" => "no", + "with_http_libevent_dir" => "no", + "with_http_libbrotli_dir" => "no", +], [ +// everything enabled for current, switching debug/zts + "PHP" => $cur, + "PECLs" => "event", // for tests/client029.phpt + "enable_sockets" => "yes", // needed by pecl/event "enable_debug", "enable_maintainer_zts", - "enable_json", - "enable_hash" => ["yes"], - "enable_iconv" => ["yes"], - "enable_phar" => ["yes"], - "enable_posix" => ["yes"] + "enable_json" => "yes", + "enable_hash" => "yes", + "enable_iconv" => "yes", +], [ +// once everything enabled for current, with coverage + "CFLAGS" => "'-O0 -g --coverage'", + "CXXFLAGS" => "'-O0 -g --coverage'", + "PHP" => $cur, + "PECLs" => "event", // for tests/client029.phpt + "enable_sockets" => "yes", // needed by pecl/event + "enable_json" => "yes", + "enable_hash" => "yes", + "enable_iconv" => "yes", + [ + "with_http_libicu_dir", + "with_http_libidn_dir", + "with_http_libidn2_dir", + ], ]); -foreach ($env as $e) { - printf(" - %s\n", $e); +foreach ($env as $grp) { + foreach ($grp as $e) { + printf(" - %s\n", $e); + } } +?> +matrix: + fast_finish: true + allow_failures: + -before_script: - - make -f travis/pecl/Makefile php - - make -f travis/pecl/Makefile pharext/raphf-master pharext/propro-master +install: + - | + if test "$PHP" = master; then \ + make -f travis/pecl/Makefile reconf; \ + make -f travis/pecl/Makefile pecl-rm pecl-clean PECL=ext-raphf.git:raphf:master; \ + make -f travis/pecl/Makefile pecl-rm pecl-clean PECL=ext-propro.git:propro:master; \ + fi + - make -f travis/pecl/Makefile php || make -f travis/pecl/Makefile clean php + - make -f travis/pecl/Makefile pecl PECL=ext-raphf.git:raphf:master + - make -f travis/pecl/Makefile pecl PECL=ext-propro.git:propro:master + - | + if test -n "$PECLs"; then \ + IFS=$','; \ + for pecl in $PECLs; do \ + make -f travis/pecl/Makefile pecl PECL=$pecl; \ + done; \ + unset IFS; \ + fi script: - make -f travis/pecl/Makefile ext PECL=http - make -f travis/pecl/Makefile test after_script: + - make -f travis/pecl/Makefile cppcheck +after_failure: - test -e tests/helper/server.log && cat tests/helper/server.log +after_success: + - test -n "$CFLAGS" && cd src/.libs && bash <(curl -s https://codecov.io/bash) -X xcode -X coveragepy -sudo: false notifications: webhooks: urls: