Travis CI also integrates seemingly with GitHub. Every Pull request sent to a registered repository is being built by travis and an indication whether or not the build passed is displayed directly on the GitHub pull request page. Notice the little green check mark on the closed pull requests.
Travis has an extensive language/framework support. As it supports NodeJS/NPM, it also supports Gulp, which is the building tool used in BabylonJS, together with visual studio till BabylonJS 2.0, exclusively since 2.1.
Initially I thought it would be a relatively hard task integrating both, but it was really apiece of cake. Travis' documentation page is full of helpful tips and explanations. I eventually didn't need anything more than putting this YAML file in the main directory of the repository:
language: node_js node_js: - "0.10" before_script: - npm install -g gulp - cd ./Tools/Gulp - npm install script: gulp typescript
npm is installing gulp globally, then installing the dependencies defined in the package.json located in /Tools/Gulp of the main repository. Afterwards it is using
gulp typescript to execute the typescript build process. If the process returns no error (my assumption - returns a 0 exit status), Travis is happy and returns a green mark. The build process and log is also available at https://travis-ci.org/BabylonJS/Babylon.js
This happens with EACH pull request. This is quite amazing that Travis-CI actually assign computing capacity for open source projects and tests each pull request (and every branch!).
At the moment travis is checking if the typescript code compiles. Which is the first and initial step towards successful build. BabylonJS currently has no tests integrated, would be quite a task right now, since the framework develops so rapidly. But I really do believe it is an important task.