TechEmpower / FrameworkBenchmarks

Source for the TechEmpower Framework Benchmarks project
https://www.techempower.com/benchmarks/
Other
7.63k stars 1.94k forks source link

Split PHP on Travis #3677

Closed kelunik closed 6 years ago

kelunik commented 6 years ago

The PHP sub-build currently takes very long. Java is already split, I guess a similar split is necessary for PHP. It takes ~30 minutes currently.

NateBrady23 commented 6 years ago

We're ok with this. We've been grouping tests purposely. We get 10 concurrent builds on travis and it helps full runs move faster. By grouping tests we're also able to take advantage of the docker cache.

kelunik commented 6 years ago

I'm aware, but after all tests are done but the PHP one, the PHP one still takes 25 minutes or so.

NateBrady23 commented 6 years ago

We are aware of this and are ok with that. Travis builds timeout at 45 mins. As long as our grouped tests are under 45 mins, we are fine with it. If you only edit 1 framework within that group, only that 1 framework will run even if it's in a group. Thanks!

NateBrady23 commented 6 years ago

In your case with php/amp, we use a git diffing tool to determine which tests need to be run. Because your branch wasnt up to date with master, it thought all the php tests needed to be run:

frameworks/PHP/amp/amp.dockerfile
frameworks/PHP/amp/deploy/conf/php.ini
frameworks/PHP/amp/install-ev.sh
frameworks/PHP/amp/server.php
frameworks/PHP/amp/.gitignore
frameworks/PHP/amp/README.md
frameworks/PHP/amp/amp.dockerfile
frameworks/PHP/amp/benchmark_config.json
frameworks/PHP/amp/composer.json
frameworks/PHP/amp/composer.lock
frameworks/PHP/amp/server.php
frameworks/PHP/amp/source_code
frameworks/Java/redkale/conf/application.xml
frameworks/Java/redkale/pom.xml
frameworks/PHP/cakephp/deploy/conf/php-fpm.conf
frameworks/PHP/clancats/deploy/conf/php-fpm.conf
frameworks/PHP/clancats/deploy/nginx.conf
frameworks/PHP/codeigniter/deploy/conf/php-fpm.conf
frameworks/PHP/codeigniter/deploy/nginx-fpm.conf
frameworks/PHP/codeigniter/deploy/nginx-hhvm.conf
frameworks/PHP/cygnite/deploy/conf/php-fpm.conf
frameworks/PHP/cygnite/deploy/nginx.conf
frameworks/PHP/fat-free/deploy/conf/php-fpm.conf
frameworks/PHP/fat-free/deploy/nginx.conf
frameworks/PHP/fuel/deploy/conf/php-fpm.conf
frameworks/PHP/fuel/deploy/nginx.conf
frameworks/PHP/hhvm/deploy/nginx.conf
frameworks/PHP/kohana/deploy/conf/php-fpm.conf
frameworks/PHP/kohana/deploy/nginx.conf
frameworks/PHP/kumbiaphp/deploy/conf/php-fpm.conf
frameworks/PHP/kumbiaphp/deploy/nginx.conf
frameworks/PHP/laravel/deploy/conf/php-fpm.conf
frameworks/PHP/laravel/deploy/nginx.conf
frameworks/PHP/limonade/deploy/conf/php-fpm.conf
frameworks/PHP/limonade/deploy/nginx.conf
frameworks/PHP/lithium/deploy/conf/php-fpm.conf
frameworks/PHP/lithium/deploy/nginx.conf
frameworks/PHP/lumen/deploy/conf/php-fpm.conf
frameworks/PHP/lumen/deploy/nginx.conf
frameworks/PHP/phalcon/deploy/conf/php-fpm.conf
frameworks/PHP/phalcon/deploy/nginx.conf
frameworks/PHP/php/deploy/conf/php-fpm.conf
frameworks/PHP/php/deploy/nginx5.conf
frameworks/PHP/php/deploy/nginx7.conf
frameworks/PHP/phpixie/deploy/conf/php-fpm.conf
frameworks/PHP/phpixie/deploy/nginx.conf
frameworks/PHP/phreeze/deploy/conf/php-fpm.conf
frameworks/PHP/phreeze/deploy/nginx.conf
frameworks/PHP/silex/deploy/conf/php-fpm.conf
frameworks/PHP/silex/deploy/nginx.conf
frameworks/PHP/slim/deploy/conf/php-fpm.conf
frameworks/PHP/slim/deploy/nginx-fpm-5.conf
frameworks/PHP/slim/deploy/nginx-fpm-7.conf
frameworks/PHP/slim/deploy/nginx-hhvm.conf
frameworks/PHP/symfony/deploy/conf/php-fpm.conf
frameworks/PHP/symfony/deploy/nginx.conf
frameworks/PHP/workerman/deploy/conf/php-fpm.conf
frameworks/PHP/yii2/deploy/conf/php-fpm.conf
frameworks/PHP/yii2/deploy/nginx-fpm.conf
frameworks/PHP/yii2/deploy/nginx-hhvm.conf
frameworks/PHP/zend/deploy/conf/php-fpm.conf
frameworks/PHP/zend/deploy/nginx.conf
frameworks/PHP/zend1/deploy/conf/php-fpm.conf
frameworks/PHP/zend1/deploy/nginx.conf
frameworks/C/h2o/benchmark_config.json
frameworks/C/h2o/h2o.dockerfile
frameworks/C/h2o/start-servers.sh
frameworks/PHP/cakephp/deploy/conf/php.ini
frameworks/PHP/clancats/deploy/conf/php.ini
frameworks/PHP/codeigniter/deploy/conf/php.ini
frameworks/PHP/cygnite/deploy/conf/php.ini
frameworks/PHP/fat-free/deploy/conf/php.ini
frameworks/PHP/fuel/deploy/conf/php.ini
frameworks/PHP/kohana/deploy/conf/php.ini
frameworks/PHP/kumbiaphp/deploy/conf/php.ini
frameworks/PHP/laravel/deploy/conf/php.ini
frameworks/PHP/limonade/deploy/conf/php.ini
frameworks/PHP/lithium/deploy/conf/php.ini
frameworks/PHP/lumen/deploy/conf/php.ini
frameworks/PHP/phalcon/deploy/conf/php.ini
frameworks/PHP/php/deploy/conf/php.ini
frameworks/PHP/phpixie/deploy/conf/php.ini
frameworks/PHP/phreeze/deploy/conf/php.ini
frameworks/PHP/silex/deploy/conf/php.ini
frameworks/PHP/slim/deploy/conf/php.ini
frameworks/PHP/workerman/deploy/conf/php.ini
frameworks/PHP/yii2/deploy/conf/php.ini
frameworks/PHP/zend/deploy/conf/php.ini
frameworks/PHP/zend1/deploy/conf/php.ini
frameworks/PHP/cakephp/cakephp.dockerfile
frameworks/PHP/cakephp/deploy/conf/php.ini
frameworks/PHP/clancats/clancats.dockerfile
frameworks/PHP/clancats/deploy/conf/php.ini
frameworks/PHP/codeigniter/deploy/conf/php.ini
frameworks/PHP/cygnite/deploy/conf/php.ini
frameworks/PHP/fat-free/deploy/conf/php.ini
frameworks/PHP/fat-free/fat-free-raw.dockerfile
frameworks/PHP/fuel/deploy/conf/php.ini
frameworks/PHP/kohana/deploy/conf/php.ini
frameworks/PHP/kumbiaphp/deploy/conf/php.ini
frameworks/PHP/kumbiaphp/kumbiaphp-raw.dockerfile
frameworks/PHP/laravel/deploy/conf/php.ini
frameworks/PHP/limonade/deploy/conf/php.ini
frameworks/PHP/lithium/deploy/conf/php.ini
frameworks/PHP/lumen/deploy/conf/php.ini
frameworks/PHP/phalcon/deploy/conf/php.ini
frameworks/PHP/php/deploy/conf/php.ini
frameworks/PHP/phpixie/deploy/conf/php.ini
frameworks/PHP/phreeze/deploy/conf/php.ini
frameworks/PHP/silex/deploy/conf/php.ini
frameworks/PHP/slim/deploy/conf/php.ini
frameworks/PHP/symfony/deploy/conf/php.ini
frameworks/PHP/workerman/deploy/conf/php.ini
frameworks/PHP/yii2/deploy/conf/php.ini
frameworks/PHP/zend/deploy/conf/php.ini
frameworks/PHP/zend1/deploy/conf/php.ini
frameworks/PHP/codeigniter/benchmark_config.json
frameworks/PHP/fat-free/benchmark_config.json
frameworks/PHP/hhvm/benchmark_config.json
frameworks/PHP/kohana/benchmark_config.json
frameworks/PHP/kumbiaphp/benchmark_config.json
frameworks/PHP/laravel/benchmark_config.json
frameworks/PHP/laravel/config/database.php
frameworks/PHP/limonade/benchmark_config.json
frameworks/PHP/lumen/benchmark_config.json
frameworks/PHP/peachpie/benchmark_config.json
frameworks/PHP/phalcon/benchmark_config.json
frameworks/PHP/php/benchmark_config.json
frameworks/PHP/phpixie/benchmark_config.json
frameworks/PHP/silex/benchmark_config.json
frameworks/PHP/slim/benchmark_config.json
frameworks/PHP/symfony/benchmark_config.json
frameworks/PHP/yii2/benchmark_config.json
frameworks/PHP/zend/benchmark_config.json
frameworks/PHP/zend1/benchmark_config.json
frameworks/Java/redkale/conf/application.xml
frameworks/Java/redkale/pom.xml

You can also add this in your commit message to make sure only PHP/amp runs: [ci fw-only PHP/amp] That will make sure, no matter what changes are detected, that only amp runs in the PHP grouping for travis. Hopefully this helps!

kelunik commented 6 years ago

I did a fresh clone, strange that it detected those then.

Thanks for the info!