.travis.yml 1.16 KB
Newer Older
Andrew Lee's avatar
Andrew Lee committed
1 2 3 4 5 6 7
# Machine config
dist: trusty
sudo: required
services:
  - memcached

# Language and app config
8
language: ruby
9 10
cache: bundler
gemfile: src/api/Gemfile
Andrew Lee's avatar
Andrew Lee committed
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
rvm: 2.5.0

# Github config
branches:
  except:
    # starting with depfu/
    - /^depfu\/.*/

# Scripts
install:
  - bundle install --jobs=3 --retry=3 --deployment --path=${BUNDLE_PATH:-vendor/bundle} --without=development
before_install: dist/ci/travis_before_install.sh
before_script: dist/ci/travis_before_script.sh
after_failure: dist/ci/travis_after_failure.sh
script: "dist/ci/travis_script.sh $TEST_SUITE"

# Notifications
28 29 30 31 32
notifications:
  irc:
     channels:
       - "chat.freenode.net#opensuse-buildservice"
     on_success: change
33
     on_failure: change
Andrew Lee's avatar
Andrew Lee committed
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53

# Jobs matrix and stages 
jobs:
  include:
    - stage: Linters
      env: TEST_SUITE=linter
      cache:
        bundler: true
        directories:
          - tmp/rubocop_cache
      before_install:
        - npm install -g jshint
        - gem install rubocop -v 0.51.0
        - gem install rubocop-rspec -v 1.20.1
    - stage: test
      env: TEST_SUITE=rspec
    - env: TEST_SUITE=api
    - env: TEST_SUITE=spider
    - env: TEST_SUITE=backend
  fast_finish: true