Languages

We install a range of languages in many different versions.

Java

We install several Java versions, and currently support the following versions:

java-1.7.0-openjdk-amd64, java-7-oracle, and java-8-oracle

build:
    environment:
        java: java-8-oracle

You can also set up Java versions with SDKMAN! which provides access to a wider range of Java versions you can choose from:

build:
    environment:
        sdkman:
            - [email protected]

Node

We install a few node versions by default. If you specify a version which is not listed here, it will automatically be downloaded and installed in your build environment.

Pre-installed versions:

0.10.29, 0.11.13, 0.12.4, v4.2.2, v5.1.0, v6.2.0, iojs-v1.3.0, iojs-v1.8.4, iojs-v2.5.0, iojs-v3.3.1

build:
    environment:
        node: v6.2.0

For node, we also support installation of any released version on-the-fly. You can type nvm ls-remote in SSH debug mode to retrieve a list of all available versions.

PHP

We use phpenv for managing PHP versions and currently support the following versions:

5.4.41, 5.5.25, 5.6.9, 5.6.16, 7.0.8, 7.0.20, 7.1.1, 7.1.6, 7.1.12, 7.2.0 and hhvm

build:
    environment:
        php: 7.0.6

Python

We use pyenv for managing Python versions and currently support the following versions:

2.7.7, 3.2.5, 3.3.5, 3.4.1, 3.4.6, 3.5.0, 3.6.0, 3.6.3, jython-2.5.3, jython-2.7.0, pypy-2.3.1, stackless-3.3.5, pypy-2.4.0, pypy-2.6.1, pypy-4.0.0, pypy-5.6.0, pypy2-5.6.0, pypy3-2.4.0, stackless-3.4.1

build:
    environment:
        python: 3.5.0

Ruby

We use rbenv for managing Ruby versions and currently support the following versions:

1.8.7-p375, 1.9.2-p320, 1.9.3-p547, 2.0.0-p481, 2.1.2, 2.1.5, 2.2.0, 2.2.3, 2.3.1, 2.4.0, 2.4.2, jruby-1.7.9, 'jruby-1.7.19, jruby-9.0.4.0, jruby-9.1.1.0

build:
    environment:
        ruby: 2.3.1

Go

We use gvm for managing Go versions and currently support the following versions:

go1.4.2, go1.3.3, go1.5.1 , go1.6.2, go1.7.3, go1.8.5 and go1.9.2

build:
    environment:
        go: go1.6.2

Groovy

We use SDKMAN! for managing Groovy version:

build:
    environment:
        sdkman:
            - [email protected]

For more details about available Groovy versions supported by SDKMAN, please check SDKMAN! documentation <http://sdkman.io/sdks.html>

Scala SBT

We install several scala sbt versions. The following are supported currently:

sbt-0.12.4, sbt-0.13.2