summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 8fd329cf3c9dd9e153626d299a084ea61e7c75fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
language: ruby
dist: bionic
script:
  - bin/parallel_rspec spec
  - sudo -E bin/rake spec:sudo
  - sudo chown -R $(whoami) tmp
  - BUNDLER_SPEC_PRE_RECORDED=1 bin/rake spec:realworld

before_script:
  - travis_retry gem install rake:"~> 12.0"
  - travis_retry bin/rake override_version
  - travis_retry bin/rake spec:parallel_deps
  - if [ "$BUNDLER_SPEC_SUB_VERSION" = "" ];
    then
      travis_retry sudo apt-get install graphviz -y;
    fi
  - if [ "$TRAVIS_RUBY_VERSION" = "2.3.8" ];
    then
      sudo sed -i 's/1000::/1000:Travis:/g' /etc/passwd;
      sudo sed -i '/secure_path/d' /etc/sudoers;
    fi

branches:
  only:
    - master
    - staging
    - trying
    - /.+-dev$/
    - /.+-stable$/

cache:
  directories:
    - tmp/rubocop

notifications:
  slack:
    on_success: change
    on_failure: always
    rooms:
      - secure: JxBi7DDJGkIF/7f/FSN/HUHpvV4EKfQccZHTPd1b2pNJn3GXo6u+tNVbAw2WjxYzPyPQI3ZcYBCU9SEXp/i7VmG8uMzh8Kyildw+miSKYKVb90uYqcsXWzbxwyNBgJLvyDkzST45H5lgnyAicee3WkFes/WDZikIajbH7ztdb04=

rvm:
  - 2.6.5
  - 2.5.7
  - 2.4.9

stages:
  - linting
  - test

env:
  # We need to know if changes to rubygems will break bundler on release
  - RGV=master BUNDLER_SPEC_SUB_VERSION=3.0.0
  - RGV=master
  # Test the latest rubygems release with all of our supported rubies
  - RGV=v3.0.6 BUNDLER_SPEC_SUB_VERSION=3.0.0
  - RGV=v3.0.6

jobs:
  include:
    - rvm: 2.6.5
      script: bin/rake rubocop check_rvm_integration man:check
      stage: linting
    # Ruby 2.3 also tested in 2.x mode
    - rvm: 2.3.8
      env: RGV=master
      stage: test
    - rvm: 2.3.8
      env: RGV=v3.0.6
      stage: test
    # Ruby 2.5, Rubygems 2.7
    - rvm: 2.5.7
      env: RGV=v2.7.10
      stage: test
    # Ruby 2.4, Rubygems 2.6
    - rvm: 2.4.9
      env: RGV=v2.6.14
      stage: test
    # Ruby 2.3, Rubygems 2.5
    - rvm: 2.3.8
      env: RGV=v2.5.2
      stage: test
    # Ruby-head (we want to know how we're doing, but not fail the build)
    - rvm: ruby-head
      env: RGV=master
      stage: test

  allow_failures:
    - rvm: ruby-head
      env: RGV=master