aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 970f80298c5106b0d38fd8bfb2bc3606ad0ac4cb (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
dist: trusty

notifications:
  email: false
  irc:
    channels:
      - "irc.freenode.net#fixmystreet"
    use_notice: true
    skip_join: true
  slack:
    secure: "yY05S8ecxMv5GwexGQV/9sqUwxn1j0LF8KyG0VnoMPqJXOaGmkAe60I695CC7/P0AaNC2oWfqMZcEcdXZNa8l7kWluxyRktt6cP+VDPmIKJqcsasoDPDTLlZQTNy8i+EwxzRWDUUMFjLet6lqZYEbBPeCSufmQyyjknhGiSPGsQ="
  webhooks:
    urls:
      secure: "x6M1u9SFv2oQpo28wDSpURV0Rnk+jTA5VCXIjlo0ccbEV1IOp36KSJT3A2lSbf2BDlwGlKcbgtMP9dk83So2dhvPow7ogemouW+Rx1olYJgzoTR3v5cZt9pn7g6y0O1M+AkDIzabzT90oRD4//YVY5OS16ZjePcBWwp9yHEEQ7I="

# Put the versions in the matrix below so that we're ordered better
language: perl

cache:
  directories:
    - ~/.npm
    - node_modules

matrix:
  include:
  - perl: "5.24" # stretch
  - perl: "5.26" # bionic
    env: "COVERAGE_PART=1" # Running the tests with coverage is much slower, so split the test run in two
  - perl: "5.26"
    env: "COVERAGE_PART=2"
  - perl: "5.22"
    env: "CYPRESS=1" # Run headless browser tests
  - perl: "5.22" # xenial
  - perl: "5.18" # trusty
  - perl: "5.20" # jessie
  - perl: "5.28" # buster

env:
  global:
    - "S3_BUCKET=fixmystreet-bundle-cache"
    - "CYPRESS=0"
    - "COVERAGE_PART=0"
    - secure: "llgWNfR/8pH0HjYpg+xhVxuqTaLC0GGUugfuINiUap7JxzjCZ2rlryxCXA4BCM8GUHa9wlYKhrKCSx+DM3EHRE0cLei7LNxAK1JSXLj3NihFQhqnq64tjDwGCSA4l7mlqErA7DK4Dpmh+hBp5f680akITAInM92CbwQZxLDYaCU="
    - secure: "qW+WCgAF68itADxcbcq+nCnKx3vf3GX73HMfjfbkFFUsYmIR+ZaJ9yQMnGJwxIpCHTWLAeqyx4KO8N8T3GmNdKYzIMZemOzp4ED29YC31QOQeq1CwNp2hD5sq/o47d2BzXWwMYNvNXfxz1K6r2c6EMPUtu8X3B8ExZq1RzSFdXs="

sudo: false

addons:
    apt:
        packages:
            - gettext
            - language-pack-de
            - language-pack-sv

install:
  - .travis/install
  - 'if [ "$COVERAGE_PART" != "0" ]; then cpanm --quiet --notest Devel::Cover::Report::Codecov; fi'
  - 'if [ "$CYPRESS" = "1" ]; then npm install cypress@3.8.3; fi'
before_script:
  - commonlib/bin/gettext-makemo FixMyStreet
  - 'if [ "$COVERAGE_PART" != "0" ]; then export HARNESS_PERL_SWITCHES="-MDevel::Cover=+ignore,local/lib/perl5,commonlib,perllib/Catalyst/[^A],perllib/Email,^t"; fi'
script:
  - 'if [ "$CYPRESS" = "0" ] && [ "$COVERAGE_PART" = "0" ]; then script/test --jobs 3 t; fi'
  - 'if [ "$COVERAGE_PART" = "1" ]; then script/test --jobs 3 `find t/app/controller -name "*.t"`; fi'
  - 'if [ "$COVERAGE_PART" = "2" ]; then script/test --jobs 3 `find t -name "*.t" ! -path "t/app/controller*"`; fi'
  - 'if [ "$CYPRESS" = "1" ]; then PATH=$(npm bin):$PATH bin/browser-tests run ${CYPRESS_RECORD_KEY:+--record}; fi'
after_success:
  - .travis/after_script
  - 'if [ "$COVERAGE_PART" != "0" ]; then cover --report codecov; fi'