X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=scripts%2Fgen_travis_yml.php;h=ef73806fe757f2873e6d85952e4f279d496b979f;hp=311a4cd000afa5edccef34ab7e1bdcf7349e6bdb;hb=f0d09200dc7b739366bceb61d86a35fe734e09f5;hpb=0ccb6d6575f81affd97a78ba1a88641ad41b4b55 diff --git a/scripts/gen_travis_yml.php b/scripts/gen_travis_yml.php index 311a4cd..ef73806 100755 --- a/scripts/gen_travis_yml.php +++ b/scripts/gen_travis_yml.php @@ -5,44 +5,113 @@ 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 + +compiler: + - gcc + - clang + +cache: + apt: true + directories: + - $HOME/cache +before_cache: + - find $HOME/cache -name '*.gcda' -o -name '*.gcno' -delete env: ["7.0", "master"], +// most useful for all additional versions except current + "PHP" => ["7.0", "7.1", "7.2", "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 on debug/zts + "PHP" => $cur, "enable_debug", "enable_maintainer_zts", - "enable_json", - "enable_hash" => ["yes"], - "enable_iconv" => ["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, + "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 pecl PECL=raphf:raphf:2.0.0 - - make -f travis/pecl/Makefile pecl PECL=propro:propro:2.0.1 - - make -f travis/pecl/Makefile ext PECL=http +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 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: