.travis.yml 5.16 KB
Newer Older
1
language: php
2
sudo: false
3
dist: trusty
4 5 6 7 8 9

cache:
    directories:
        - vendor
        - $HOME/.composer/cache

10
php:
11
  - 7.1
Luís Cobucci's avatar
Luís Cobucci committed
12
  - 7.2
13
  - nightly
14

15
env:
16
  - DB=sqlite
17
  - DB=mysql
18
  - DB=mysqli
19

Luís Cobucci's avatar
Luís Cobucci committed
20 21 22
before_install:
  - mv ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini{,.disabled} || echo "xdebug not available"

23
before_script:
Luís Cobucci's avatar
Luís Cobucci committed
24
  - if [[ "$DB" == "mysql" || "$DB" == "mysqli" || "$DB" == "mariadb" ]]; then mysql < tests/travis/create-mysql-schema.sql; fi;
25

Luís Cobucci's avatar
Luís Cobucci committed
26 27 28 29
install:
  - travis_retry composer -n install

script: ./vendor/bin/phpunit --configuration tests/travis/$DB.travis.xml
30

Luís Cobucci's avatar
Luís Cobucci committed
31 32
jobs:
  allow_failures:
33 34
    - php: nightly

Luís Cobucci's avatar
Luís Cobucci committed
35 36 37
  include:
    - stage: Test
      php: 7.1
38 39
      env: DB=mysql MYSQL_VERSION=5.7
      sudo: required
Luís Cobucci's avatar
Luís Cobucci committed
40 41 42 43 44 45 46 47 48 49
      before_script:
        - bash ./tests/travis/install-mysql-5.7.sh
    - stage: Test
      php: 7.2
      env: DB=mysql MYSQL_VERSION=5.7
      sudo: required
      before_script:
        - bash ./tests/travis/install-mysql-5.7.sh
    - stage: Test
      php: nightly
50 51
      env: DB=mysql MYSQL_VERSION=5.7
      sudo: required
Luís Cobucci's avatar
Luís Cobucci committed
52 53
      before_script:
        - bash ./tests/travis/install-mysql-5.7.sh
54

Luís Cobucci's avatar
Luís Cobucci committed
55 56
    - stage: Test
      php: 7.1
57 58
      env: DB=mysqli MYSQL_VERSION=5.7
      sudo: required
Luís Cobucci's avatar
Luís Cobucci committed
59 60 61 62 63 64 65 66 67 68
      before_script:
        - bash ./tests/travis/install-mysql-5.7.sh
    - stage: Test
      php: 7.2
      env: DB=mysqli MYSQL_VERSION=5.7
      sudo: required
      before_script:
        - bash ./tests/travis/install-mysql-5.7.sh
    - stage: Test
      php: nightly
69 70
      env: DB=mysqli MYSQL_VERSION=5.7
      sudo: required
Luís Cobucci's avatar
Luís Cobucci committed
71 72
      before_script:
        - bash ./tests/travis/install-mysql-5.7.sh
73

Luís Cobucci's avatar
Luís Cobucci committed
74 75
    - stage: Test
      php: 7.1
76 77 78
      env: DB=mariadb MARIADB_VERSION=10.0
      addons:
        mariadb: 10.0
Luís Cobucci's avatar
Luís Cobucci committed
79 80 81 82 83 84 85
    - stage: Test
      php: 7.2
      env: DB=mariadb MARIADB_VERSION=10.0
      addons:
        mariadb: 10.0
    - stage: Test
      php: nightly
86 87 88 89
      env: DB=mariadb MARIADB_VERSION=10.0
      addons:
        mariadb: 10.0

Luís Cobucci's avatar
Luís Cobucci committed
90 91
    - stage: Test
      php: 7.1
92 93 94
      env: DB=mariadb MARIADB_VERSION=10.1
      addons:
        mariadb: 10.1
Luís Cobucci's avatar
Luís Cobucci committed
95 96 97 98 99 100 101
    - stage: Test
      php: 7.2
      env: DB=mariadb MARIADB_VERSION=10.1
      addons:
        mariadb: 10.1
    - stage: Test
      php: nightly
102 103 104 105
      env: DB=mariadb MARIADB_VERSION=10.1
      addons:
        mariadb: 10.1

Luís Cobucci's avatar
Luís Cobucci committed
106 107 108 109 110
    - stage: Test
      php: 7.1
      env: DB=pgsql POSTGRESQL_VERSION=9.2
      services:
        - postgresql
111 112
      addons:
        postgresql: "9.2"
Luís Cobucci's avatar
Luís Cobucci committed
113 114 115
    - stage: Test
      php: 7.2
      env: DB=pgsql POSTGRESQL_VERSION=9.2
116 117 118 119
      services:
        - postgresql
      addons:
        postgresql: "9.2"
Luís Cobucci's avatar
Luís Cobucci committed
120 121 122
    - stage: Test
      php: nightly
      env: DB=pgsql POSTGRESQL_VERSION=9.2
123 124
      services:
        - postgresql
Luís Cobucci's avatar
Luís Cobucci committed
125 126
      addons:
        postgresql: "9.2"
127

Luís Cobucci's avatar
Luís Cobucci committed
128 129 130 131 132
    - stage: Test
      php: 7.1
      env: DB=pgsql POSTGRESQL_VERSION=9.3
      services:
        - postgresql
133 134
      addons:
        postgresql: "9.3"
Luís Cobucci's avatar
Luís Cobucci committed
135 136 137
    - stage: Test
      php: 7.2
      env: DB=pgsql POSTGRESQL_VERSION=9.3
138 139 140 141
      services:
        - postgresql
      addons:
        postgresql: "9.3"
Luís Cobucci's avatar
Luís Cobucci committed
142 143 144
    - stage: Test
      php: nightly
      env: DB=pgsql POSTGRESQL_VERSION=9.3
145 146
      services:
        - postgresql
Luís Cobucci's avatar
Luís Cobucci committed
147 148
      addons:
        postgresql: "9.3"
149

Luís Cobucci's avatar
Luís Cobucci committed
150 151 152 153 154
    - stage: Test
      php: 7.1
      env: DB=pgsql POSTGRESQL_VERSION=9.4
      services:
        - postgresql
155 156
      addons:
        postgresql: "9.4"
Luís Cobucci's avatar
Luís Cobucci committed
157 158 159
    - stage: Test
      php: 7.2
      env: DB=pgsql POSTGRESQL_VERSION=9.4
160 161 162 163
      services:
        - postgresql
      addons:
        postgresql: "9.4"
Luís Cobucci's avatar
Luís Cobucci committed
164 165 166
    - stage: Test
      php: nightly
      env: DB=pgsql POSTGRESQL_VERSION=9.4
167 168
      services:
        - postgresql
Luís Cobucci's avatar
Luís Cobucci committed
169 170
      addons:
        postgresql: "9.4"
171

Luís Cobucci's avatar
Luís Cobucci committed
172 173 174 175 176
    - stage: Test
      php: 7.1
      env: DB=pgsql POSTGRESQL_VERSION=9.5
      services:
        - postgresql
177 178
      addons:
        postgresql: "9.5"
Luís Cobucci's avatar
Luís Cobucci committed
179 180 181
    - stage: Test
      php: 7.2
      env: DB=pgsql POSTGRESQL_VERSION=9.5
182 183 184 185
      services:
        - postgresql
      addons:
        postgresql: "9.5"
Luís Cobucci's avatar
Luís Cobucci committed
186 187 188
    - stage: Test
      php: nightly
      env: DB=pgsql POSTGRESQL_VERSION=9.5
189 190
      services:
        - postgresql
Luís Cobucci's avatar
Luís Cobucci committed
191 192
      addons:
        postgresql: "9.5"
193

Luís Cobucci's avatar
Luís Cobucci committed
194 195 196 197 198
    - stage: Test
      php: 7.1
      env: DB=pgsql POSTGRESQL_VERSION=9.6
      services:
        - postgresql
199 200
      addons:
        postgresql: "9.6"
Luís Cobucci's avatar
Luís Cobucci committed
201 202 203
    - stage: Test
      php: 7.2
      env: DB=pgsql POSTGRESQL_VERSION=9.6
204 205 206 207
      services:
        - postgresql
      addons:
        postgresql: "9.6"
Luís Cobucci's avatar
Luís Cobucci committed
208 209 210
    - stage: Test
      php: nightly
      env: DB=pgsql POSTGRESQL_VERSION=9.6
211 212
      services:
        - postgresql
Luís Cobucci's avatar
Luís Cobucci committed
213 214
      addons:
        postgresql: "9.6"
215

Luís Cobucci's avatar
Luís Cobucci committed
216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
    - stage: Coverage
      php: 7.1
      env: DB=sqlite
      before_script:
        - mv ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini{.disabled,}
        - if [[ ! $(php -m | grep -si xdebug) ]]; then echo "xdebug required for coverage"; exit 1; fi
      script:
        - ./vendor/bin/phpunit --configuration tests/travis/$DB.travis.xml --coverage-clover clover.xml
      after_script:
        - wget https://scrutinizer-ci.com/ocular.phar
        - php ocular.phar code-coverage:upload --format=php-clover clover.xml

    - stage: Coding standard
      php: nightly
      script:
        - ./vendor/bin/phpcs