dist: trusty sudo: false group: stable bundler_args: --without coverage development pcap cache: bundler addons: postgresql: '9.6' apt: packages: - libpcap-dev - graphviz language: ruby rvm: - '2.3.7' - '2.4.4' - '2.5.1' env: - CMD='bundle exec rake rspec-rerun:spec SPEC_OPTS="--tag content"' - CMD='bundle exec rake rspec-rerun:spec SPEC_OPTS="--tag ~content"' # Used for testing the remote data service - CMD='bundle exec rake rspec-rerun:spec SPEC_OPTS="--tag content" REMOTE_DB=1' matrix: fast_finish: true exclude: - rvm: '2.3.7' env: CMD='bundle exec rake rspec-rerun:spec SPEC_OPTS="--tag content" REMOTE_DB=1' - rvm: '2.4.4' env: CMD='bundle exec rake rspec-rerun:spec SPEC_OPTS="--tag content" REMOTE_DB=1' jobs: # build docker image include: - env: CMD="docker-compose build" DOCKER="true" # we do not need any setup before_install: skip install: skip before_script: skip before_install: - "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc" - rake --version # Fail build if msftidy is not successful - ln -sf ../../tools/dev/pre-commit-hook.rb ./.git/hooks/post-merge - ls -la ./.git/hooks - ./.git/hooks/post-merge # Update the bundler - gem install bundler before_script: - cp config/database.yml.travis config/database.yml - bundle exec rake --version - bundle exec rake db:create - bundle exec rake db:migrate # fail build if db/schema.rb update is not committed - git diff --exit-code db/schema.rb script: - echo "${CMD}" # we need travis_wait because the Docker build job can take longer than 10 minutes - if [[ "${DOCKER}" == "true" ]]; then echo "Starting Docker build job"; travis_wait 40 "${CMD}"; else bash -c "${CMD}"; fi notifications: irc: "irc.freenode.org#msfnotify" git: depth: 5 # Blacklist certain branches from triggering travis builds branches: except: - gh-pages - metakitty services: - docker