Add support for Travis CI #68

Merged
merged 6 commits into from Jun 3, 2012

8 participants

@dshafik

This is more of a proof of concept; it configures, builds and tests PHP with each commit.

What doesn't work:

  • NOT A BUG It isn't mailing the results of the run to the php.qa.reports ML (the ML is no longer used, need to confirm they do show up at http://qa.php.net/reports/ however)
  • FIXED It isn't exiting with 1 when there are failed tests despite setting REPORT_EXIT_STATUS=1
  • FIXED It isn't connecting to MySQL to test the mysql extensions

I'd like to:

  • Get as many DB extensions testing as possible
    • Travis supports: MySQL, PostgreSQL, SQLite3, MongoDB, CouchDB, Redis, Riak, Memcached
  • Get as many other extensions testing as possible
    • Travis can install dependencies using apt-get
  • Also get it working for PECL extensions

I'm just throwing this out here right now to gauge interest, and to see if anyone else wants to contribute :)

You can see this in action here, or just look at: Build Status

@Palleas

This is awesome, thanks!

@svenfuchs

If this gets merged in and you guys are interested in pull-request testing then shoot us a note at contact@travis-ci.org. This feature is currently being rolled out manually but we'd love to turn it on for php.

@dshafik

With 355cf75 the tests are now running against MySQL, PgSQL, and SQLite, and covers 53 extensions, running 99.2% of the full test suite.

I'm thinking seeing as this is a PHP 5.4 box, that we can use php -s in the ext/curl/tests/responder directory to allow setting of PHP_CURL_HTTP_REMOTE_SERVER for ext/curl.

@reeze

Cool, Travis is awesome.

@dsp
php.net member

FYI looking into it. General idea is great, have to read about travis, etc first.

@dsp dsp was assigned Apr 30, 2012
@dsp dsp commented on an outdated diff May 25, 2012
run-tests.php
@@ -332,6 +332,7 @@ function write_information($show_html)
define('PHP_QA_EMAIL', 'qa-reports@lists.php.net');
define('QA_SUBMISSION_PAGE', 'http://qa.php.net/buildtest-process.php');
define('QA_REPORTS_PAGE', 'http://qa.php.net/reports');
+define('TRAVIS_CI' , !!getenv('TRAVIS_PHP_VERSION'));
@dsp
php.net member
dsp added a note May 25, 2012

Looks like idomatic JavaScript code. If you want to convert it to a boolean use

define('TRAVIS_CI', (boolean) getenv('TRAVIS_PHP_VERSION'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@dsp dsp commented on an outdated diff May 25, 2012
run-tests.php
@@ -369,7 +370,9 @@ function save_or_mail_results()
}
/* Ask the user to provide an email address, so that QA team can contact the user */
- if (!strncasecmp($user_input, 'y', 1) || strlen(trim($user_input)) == 0) {
+ if (TRAVIS_CI) {
@dsp
php.net member
dsp added a note May 25, 2012

Indention looks wrong on github. You probably used spaced, while the rest of the script uses tabs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@dsp
php.net member

I like the idea. If there are no objections from internals I will go ahead and merge that once you squelched the little issues.

@Tyrael
php.net member

for the REPORT_EXIT_STATUS problem see https://bugs.php.net/bug.php?id=60285

@michaelcullum

I know someone who is working on firebird support for travis but I have no idea how long that will take him.

@dshafik

@dsp 5ef46fe should solve both the issues you raised.

@dsp
php.net member
dsp commented Jun 3, 2012

@Tyrael would be great to have that fixed :)

@dsp dsp added a commit that referenced this pull request Jun 3, 2012
@dsp dsp Merge branch 'pull-request/68'
By Davey Shafik
via Davey Shafik
* pull-request/68:
  Fix boolean casting and whitespace (@dsp / #68)
  Add curl extension config, uses cli-server to test
  Source all extension scripts for ENV vars
  Add extension configs, compile more extensions
  Reformat, setup MySQL DB, call run-tests directly
  Add support for Travis CI
8b0da0b
@php-pulls php-pulls merged commit 5ef46fe into php:master Jun 3, 2012
@dsp
php.net member
dsp commented Jun 3, 2012

Merged. Let's see how it works out

@dsp
php.net member
dsp commented Jun 3, 2012

looks like tests on masters are currently failing, ci.qa.php.net shows 13 failing while travis has 52 failing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment