Building a Smalltalk Project

What This Guide Covers

This guide covers build environment and configuration topics specific to Smalltalk projects. Please make sure to read our Getting Started and general build configuration guides first.

Community-Supported Warning

Travis CI support for Smalltalk is provided by SmalltalkCI and contributed by the community and may be removed or altered at any time. If you run into any problems, please report them here.

Basic configuration

To set up continuous integration for your Smalltalk project, you need a .travis.yml and a .ston configuration file for SmalltalkCI.

An example .travis.yml :

language: smalltalk
sudo: false

# Select operating system(s)
  - linux
  - osx

# Select virtual machine(s)
  - Squeak-5.0
  - Pharo-5.0

# Select compatible Smalltalk image(s)
  - Squeak-trunk
  - Squeak-5.0
  - Squeak-4.6
  - Squeak-4.5

  - Pharo-alpha
  - Pharo-stable
  - Pharo-5.0
  - Pharo-4.0
  - Pharo-3.0

  - GemStone-3.3.0
  - GemStone-3.2.12
  - GemStone-

This is a minimal .smalltalk.ston that uses Metacello to test on all supported platforms:

SmalltalkCISpec {
  #loading : [
    SCIMetacelloLoadSpec {
      #baseline : 'MyProject',
      #directory : 'packages',
      #platforms : [ #squeak, #pharo, #gemstone ]


This documentation is just a minimal example and not as exhaustive as SmalltalkCI’s