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 Tutorial 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

# Select operating system(s)
os:
  - linux
  - osx

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

# Select compatible Smalltalk image(s)
smalltalk:
  - 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-3.1.0.6

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 ]
    }
  ]
}

Configuration #

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