sudo: false
# Ruby is the main language of the project.
language: ruby
bundler_args: --with development,ci
# Cache third party dependencies for faster builds
cache:
apt: true
bundler: true
directories:
# Cache NPM packages
- lib/assets/node_modules
- $HOME/.npm
addons:
chrome: stable
apt:
packages:
- nodejs
- wkhtmltopdf
matrix:
fast_finish: true
include:
rvm:
# Use 2.4.1, since this is installed by default on Travis (1st Aug, 2018)
- 2.4.1
# These env variables will set up a separate testing environment for each
# combination of variables.
env:
# Run specs once with each database adapter we support
- DB_ADAPTER=postgresql
- DB_ADAPTER=mysql2
# Main test script
script:
# Copy over config files needed for setup, and create DB
- bin/setup
# Precompile the assets
- bundle exec rake assets:precompile
# Default test stage: Run all specs, listing the 10 slowest.
- bundle exec rspec spec --profile=10
# Run these stages in this order:
stages:
- security
- test
# Define each stage (test is already defined automatically)
jobs:
include:
# Run Brakeman check with warning level 2, except these two checks:
- stage: security
name: "Brakeman check"
script: bundle exec brakeman -w2 --except=Redirect,CrossSiteScripting
# Disable until violation bug fixed
# - stage: security
# name: "Bundle audit"
# script: bundle exec bundle-audit check --update