Supported stack

Every build and deploy on Semaphore runs in a lightweight, isolated virtual machine based on Ubuntu 14.04 LTS 64-bit. This page describes the software provided in these VMs.

The timezone in the virtual machine is set to UTC. To find out how to change this value visit this page.

Language support

Semaphore provides first-class support for the following programming languages:

Note that applications in any programming language can be configured manually in project settings. If you would like a language which is not listed above to be supported out of the box, please send us email or install it manually.

Besides using the language which is selected in the project settings, you can utilize any combination of languages and versions from the table bellow. For example, to use Node.js 5.6.0 with a project which is not configured as such, add a following line as a setup command.

nvm use 5.6.0

To find more information about managing different language versions on Semaphore, please refer to the corresponding language page.

Available components & services

Name Version
Cassandra 2.2.8
Chrome 56.0.2924.87
ChromeDriver 2.27
Docker 1.12.6
docker-machine 0.8.2
docker-compose 1.9.0
ElasticSearch 1.3.9
Elixir 1.0.5
1.1.1
1.2.6 (default)
1.3.4
1.4.2
Erlang 18.3 (default)
19.2
Firefox 34.0 (default)
38.8.0 ESR
45.7.0 ESR
geckodriver 0.14.0 (default)
gcc 4.8.4
Git 2.11.0
Go 1.4.3 (default)
1.5.4
1.6.4
1.7.5
1.8
Gradle 3.4
Heroku Toolbelt 3.43.14
io.js 1.8.4
2.5.0
3.3.1
ImageMagick 6.7.7.11
Java openjdk-7u121 (default)
Oracle jdk-8u121
Leiningen 2.3.4
Linux Kernel 3.13.0
Apache Maven 3.3.9
Memcached 1.4.14
MongoDB 3.4.2
MySQL 5.6.35
Node.js 0.8.28
0.10.48
0.11.16
0.12.18
4.1.2
4.2.6
4.3.2
4.4.7
4.5.0
4.6.2 (default)
4.7.3
5.0.0
5.1.1
5.2.0
5.3.0
5.4.1
5.6.0
5.8.0
5.10.1
5.11.1
6.1.0
6.2.2
6.3.1
6.6.0
6.9.5
6.10.0
7.1.0
7.3.0
7.4.0
7.6.0
PhantomJS 1.9.8 (default)
2.0.0
2.1.1
PHP 5.3.29
5.4.45
5.5.38
5.6.30
7.0.16
7.1.2
pip 9.0.1
PostGIS 2.1.5
PostgreSQL 9.4.1
Python 2.6.9
2.7.10 (default)
3.3.6
3.4.3
3.5.0
3.6.0
pypy 2.4.0
pypy3 2.6.0
Qt 4.8.1 (default)
5.4.2
5.5.1
RabbitMQ 3.6.6
Redis 3.2.8
RethinkDB 2.3.5
Ruby 2.4.0
2.3.3
2.3.1
2.3.0
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2 (default)
2.2.1
2.2.0
2.1.9
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.0-p598
1.9.3-p551
1.9.2-p330
ree-1.8.7-2012.02
JRuby 1.7.26
JRuby 9.1.6.0
Sphinx 2.0.4
sbt 0.13.11
Scala 2.11.8
2.12.1
SQLite 3.8.2
virtualenv 14.0.6
wkhtmltopdf 0.12.3

Note: this is a partial list. You can upgrade or add additional packages for your builds with apt-get - either from Ubuntu’s official distribution channels or third-party PPAs.

We have a number of open source test apps in various flavors that we use for verification. If your setup is different or you’re having problems making your build pass, we encourage you to contact us - we’d be happy to get your app building on Semaphore as quickly as possible.

Supported test frameworks and backends

Test frameworks known to be used by our users includes:

  • test/unit
  • RSpec
  • Cucumber
  • Steak
  • Capybara with Selenium
  • Capybara Webkit
  • Poltergeist and PhantomJS
  • Jasmine
  • Minitest
  • Karma

Note that these are simply a reflection of the whole supported stack.