Hi all,

I've created a system to test our commits with Travis CI for PHP 5.4 and 5.5.

You can find the link here: https://travis-ci.org/nickveenhof/search-api-sandbox

How it works:

  • Every 15 minutes the sandbox is cloned to a repository I own in github. No changes in the github repository are allowed and will be overwritten by the sandbox clone https://github.com/nickveenhof/search-api-sandbox
  • If there is a new commit github will tell travis-ci that there are changes and it will execute it's test run
  • Using http://drupalcode.org/sandbox/daeron/2091893.git/blob/refs/heads/master:... travis-ci knows how to behave and it will run the test for php 5.4 and php 5.5 in parallel
  • Tests results are mailed to me, but feel free to add your email to the travis.yml file if you want to receive notifications

Comments

nick_vh’s picture

Issue summary: View changes
nick_vh’s picture

Issue summary: View changes
nick_vh’s picture

Also, normally we should be able to add the image to the sandbox frontpage but drupal.org does not allow any image from sources that are not drupal.org...

See https://travis-ci.org/nickveenhof/search-api-sandbox.svg for the current status.

This is how it looks like embedded: Only local images are allowed.

drunken monkey’s picture

Great job, thanks! Should be handy, going forward. (Though it of course can't replace running the tests locally before committin …)
I've added myself under notifications, too.

However, does run-tests.sh test all kinds of tests – web tests, Drupal unit tests and proper unit tests? (If so, good to know. Otherwise, we should probably execute all tests.)

Also, should the tests really all pass, currently? I'm getting fails for SearchApiIntegrationTest (fatal), SearchApiLocalActionsWebTest and SearchApiOverviewPageTest locally.

nick_vh’s picture

There are still some issues

run-tests.sh using the built in webserver is always reporting success. I'm trying to prevent this by making sure the status code in the end is 1 (fail) when there is a notice of failure. Watchdog is giving a failure but this is tracked here: https://drupal.org/node/2201819

Travis is running all the tests, unit tests with phpunit, unit tests from the simpletest suite and webtests.

nick_vh’s picture

Added a line that should check the output for \[0-9]+ fails\ and return exit code 1 if true. This should at least make it more reliable and show the correctness of the tests.

That said, apache is really needed as the built in server is very shady.

nick_vh’s picture

Status: Active » Fixed

Last update on this as I think the build is stable now.

Travis is configured to show every commit in the IRC channel #drupal-search-api. This allows us to monitor changes closely and see when things are broken. At most times we have folks in the IRC channel so I think this serves a good purpose.

I've added the logo to drupalsear.ch and the IRC bot is now here so I think this is good to be closed as fixed.
http://drupalsear.ch/

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.