aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 82f50f1ae2b6c5f185ba4f1b216b4242130db6e3 (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
language: php
php:
  - 5.4
  - 5.5
  - 5.6
  - 7.0
  - 7.1
  - 7.2
  - 7.3

install:
  # newest version without https://github.com/squizlabs/PHP_CodeSniffer/pull/1404
  - composer global require squizlabs/php_codesniffer

script:
  - phpenv rehash
  - find . -not -path "./lib/JSON.php" -name \*.php -print0 | xargs -0 -n1 -P4 php -l 1>/dev/null 2>php-l-results
  - if [ -s php-l-results ]; then cat php-l-results; exit 1; fi
  - |
    if [[ $VALIDATE_STANDARD == yes ]]; then
      COMPOSER_BIN=$(composer global config --absolute bin-dir)
      $COMPOSER_BIN/phpcs . --standard=phpcs.xml --warning-severity=0 --extensions=php -p
    fi
  - |
    if [[ $CHECK_TRANSLATION == yes ]]; then
      php cli/check.translation.php -r
    fi

env:
  - CHECK_TRANSLATION=no VALIDATE_STANDARD=yes

matrix:
  fast_finish: true
  include:
    # PHP 5.3 only runs on Ubuntu 12.04 (precise), not 14.04 (trusty)
    - php: "5.3"
      dist: precise
    - php: "7.2"
      env: CHECK_TRANSLATION=yes VALIDATE_STANDARD=no
    - language: node_js
      node_js:
        - "node"
      php:
        # none
      env:
        - HADOLINT="$HOME/hadolint"
      install:
        - npm install jshint
        - curl -sLo "$HADOLINT" $(curl -s https://api.github.com/repos/hadolint/hadolint/releases/latest?access_token="$GITHUB_TOKEN" | jq -r '.assets | .[] | select(.name=="hadolint-Linux-x86_64") | .browser_download_url') && chmod 700 ${HADOLINT}
      script:
        - node_modules/jshint/bin/jshint .
        - bash tests/shellchecks.sh
        - git ls-files --exclude='*Dockerfile*' --ignored | xargs --max-lines=1 "$HADOLINT"
  allow_failures:
    - env: CHECK_TRANSLATION=yes VALIDATE_STANDARD=no
    - dist: precise