Config File ReferenceΒΆ

Read on for a complete example configuration file that you can copy and paste into your repo. Options that you’ll probably want to edit are marked IMPORTANT. There are a ton of options that you’ll probably not need to edit ever.

For details on configuring setup hooks, please refer to the setup hooks page.

For details on configuring build profiles, please refer to the build profiles page.

# solano.yml or tddium.yml
---
# ruby_version: ruby-1.9.3-p194             # IMPORTANT: set ruby version to use
# bundler_version: 1.3.5                    # IMPORTANT: set ruby bundler version to use
# golang:
#    golang_version: 1.2.1                  # IMPORTANT: set golang version
# php:
#    php_version: 5.5                       # IMPORTANT: set PHP version 5.5.16 -> 5.5
# python:
#    python_version: 2.7                    # IMPORTANT: set python version 2.7.3 -> 2.7
# java:
#   java_version: 'java-7-openjdk'
#   maven_version: '3.2.1'          # Or: gradle_version
#
# See language specific guides for iojs, nodejs, and others
#
# # Configure maximum number of workers to use
# # effective value is the minimum of configured value and plan limit
# worker_limit: 24
#
#  All hooks are a SINGLE string, NOT a YAML list
# hooks:
#   pre_setup: "echo 'copy configs'"        # Runs before database setup
#   worker_setup: "echo 'create dbs'"       # Runs once for each worker to do, e.g., database setup
#   post_setup: "echo 'compile assets'"     # Runs once after worker hook before tests
#   post_worker: "echo 'capture screenshots'"    # Runs after a worker is done
#   post_build: "echo 'deploy to staging'"  # Runs once on master after entire build completes
#
# test_pattern:                             # IMPORTANT: You can specify ruby-style glob matching
#   - spec/**_spec.rb                      #            for tests to run
#
# test_exclude_pattern:                   # After files are collected by the test_pattern, the
#   - 'spec/flaky/*'                       # test_exclude_pattern is used to remove tests that you don't
#                                          # want to run
# tests:
#   -  bundle exec guard-jasmine --server-timeout=90 -t 30000
#   - type: custom                         # Jasmine javascript test runner with more verbose syntax
#     command: bundle exec rake jasmine:ci
#     invocation: single
#     output: exit-status
#   - type: ruby-testunit                  # Run all Ruby Test::Unit tests in single batch (slower than default)
#     mode: basic
#   - type: custom                         # Python nose tests
#     name: my_name_for_nosetests          # Set custom name 'my_name_for_nosetests' to display command 'nosetests' in results table
#     command: nosetests
#     invocation: single
#     output: exit-status
#
# timeout: 900                              # timeout for each test or command
# timeout_hook: 90                  # timeout for each setup/post-build hook
#
# environment:                              # Environment variables to set when services & tests run
#   TZ: GMT                         # Set time zone
#   RAILS_LOG_LEVEL: '2'                    # Default is 4; 0-3 are more verbose
#   LOCALE: en_US                           # Set locale for tests
#   LC_CTYPE: en_US.UTF-8                   # Set LC_TYPE for tests
#  user_environment:                        # Environment variables to set only when tests run
#    LD_PRELOAD: vendor/ext/lib/lib/libmemcached.so
# rake:
#   rails_env: test                 # Set ruby RAILS_ENV, PADRINO_ENV, etc. for startup hooks
#
# ##### Background Service Configuration #####
#
# postgresql:                               # Postgres configuration
#   version: '9.3'                  # Multiple versions supported
#   postgis: '2.1.1'                        # Force postgis version
#   adapter: postgresql                     # Ruby adapter (postgresql, postgis, etc.)
#   config:                         # Inject ruby/rails database.yml options
#     pool: 5
#    config:
#      postgis_extension: true
#      encoding: unicode
#      pool: 5
# mysql:                                    # Configure MySQL
#   adapter: mysql2                 # Database adapter for ruby (optional)
#   version: '5.5'                  # MySQL version
#   config:                         # Inject ruby/rails config/database.yml options
#     reconnect: false
#     encoding: utf8
#   shards: 3                               # (Experts!) number of database instances
# sqlite: false                             # Turn off sqlite
# redis:                                    # Redis configuration
#   version: '2.16.6'                       # Any supported version
# memcache: true                            # Force-enable memcached
# mongodb:
#   version: '2.0'
#   append:                         # append directly to mongo configuration
#     persist_in_safe_mode: true
#     allow_dynamic_fields: false
#     logger: false
#   config:
#     raise_not_found_error: false
#     allow_dynamic_fields: false
# cassandra:                                # Cassandra configuration
#   version: '2.0.7'
# couchbase:                                # Couchbase configuration
#   version: '2.1.0'
# couchdb:                          # Couchdb configuration
#   version: '1.1.1'
# elasticsearch:
#   version: '0.19'
#   plugins:                                # Configure/enable plugin
#   - elasticsearch/elasticsearch-analysis-phonetic/1.2.0
# solr:
#   version: 3.6.0
# sphinx:
#   version: 2.0                    # run sphinx 2.0
#   #:managed: false
# nsq:
#   version: '0.3.2'
# neo4j:
#   version: '2.0.1'
# rabbitmq:
#   version: '3.4.1'
# rethinkdb:
#   version: '1.15'
# phantomjs:
#   version: 1.8.1
# tool_config:
#   qt:
#     version: 4.8.3
#   git:
#     version: system               # Set git version (or specify: 1.7.12, 1.8.5, 1.9.3, 2.0.3)
# headless: true                    # Enable headless X11
# firefox: '27.0.1'                 # Select a supported firefox version as the default
# zookeper:
#   version: 3.4.5
# custom_service:                   # Run a custom back-group service
#   path: bin/api                   # Path relative to repo root to script
#   parallel: true                  # Run one instance per worker (vs one per VM)?
#   ping: true                      # Wait for service to respond before continuing?
#
# coverage:                 # Beta feature
#   version: 2
#   enabled: true
#   ratchet: 96
# attachments:
#   db/geo/GeoLiteCity.dat:
#     url: https://solano-labs.s3.amazonaws.com/xv/GeoLiteCity.dat
#     hash: 2cae5b16ad50bd26b795f22bb30620d829648142
# boot_hook: bin/tddium-boot.rb
# repo_prune:
#   - Gemfile.lock
# ruby:
#   hooks:
#     cucumber: false               # Disable reporting/pretty-printing extensions
#     rspec: false                  # Disable reporting/pretty-printing extensions