A set of scripts to support continuous integration for GemStone, Pharo and Squeak Smalltalk projects using http://travis-ci.org/.
Smalltalk Other Shell
Pull request Compare This branch is 809 commits ahead, 31 commits behind renggli:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
builds
cache
gemstone
images
mcz
oneclick
scripts
sources
spur-oneclick/Contents
templates
tests
.gitignore
.travis.yml
LICENSE
README.md
build.sh
buildImageErrorCheck.sh
buildTravisStatusCheck.sh
build_client.sh
build_client_image.sh
build_clone.sh
build_env_vars
build_gemstone.sh
build_image.sh
dumpTranscript.sh
installGemstone.sh
testBuilderCI.sh
testGemStoneGCI.sh
testTravisCI.sh

README.md

Intro Build Status

Serge got things started using Lukas' builder, with travis-ci, so I'm aiming to team up Metacello and builder to make the setup and maintenance of CI test scripts for GLASS, Pharo and Squeak as painless as possible ...

Using builderCI

  1. Read Travis CI docs.
  2. Create a Baseline for your project.
  3. Create your own .travis.yml file by copying the template travis.yml into the home directory of your git project.
  4. Decide which platforms you want tested (Squeak-4.4, Pharo-1.4, GemStone-3.1.0.2, etc.) and edit the .travis.yml file to create your build matrix. See the builderCI .travis.yml for the current list of supported platforms. If you are using Metacello with your project you shouldn't have to make any other edits. Metacello and FileTree are pre-installed in the image.
  5. Create a tests/travisCI.st that contains the code to load your project, its tests and launch the test harness.
  6. If you have questions or comments open an issue or join and comment on the Metacello Mailing list.
  7. Enjoy.

Dealing with Failure

Here's sample output for a build that failed because of unit test failures. Scroll to the bottom of the console and you'll see a test summary that looks like the following:

***********************************************
	Results for builderCI Test Suite
3 run, 1 passes, 0 expected failures, 1 failures, 1 errors, 0 unexpected passes
***********************************************
*** FAILURES *******************
	SampleTest debug: #testFailure.
*** ERRORS *******************
	SampleTest debug: #testError.
***********************************************

Tests that fail or produce error are listed. You should be able to copy the the expressions and evaluate them in a workspace:

SampleTest debug: #testError.

Debugging Travis CI scripts

At the beginning of the run, everything written to the Transcript is routed to to the TravisTranscript.txt file. You can list the contents of the file by including the following line in your .travis.yml file:

   - cat TravisTranscript.txt

or conditionally dump the TravisTranscript.txt file upon an error or test failure:

   - $BUILDER_CI_HOME/buildImageErrorCheck.sh
   - $BUILDER_CI_HOME/buildTravisStatusCheck.sh

Projects using TravisCi and builderCI