.travis.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. language: php
  2. jobs:
  3. fast_finish: true
  4. allow_failures:
  5. - name: "Translations"
  6. include:
  7. - name: "PHP 7.3 Syntax, linter and tests"
  8. php: "7.3"
  9. install:
  10. - composer global require squizlabs/php_codesniffer
  11. - composer global require phpunit/phpunit ^7
  12. script:
  13. - phpenv rehash
  14. - find . -name \*.php -print0 | xargs -0 -n1 -P4 php -l 1>/dev/null 2>php-l-results
  15. - if [ -s php-l-results ]; then cat php-l-results; exit 1; fi
  16. - COMPOSER_BIN=$(composer global config --absolute bin-dir)
  17. - $COMPOSER_BIN/phpunit --bootstrap ./tests/bootstrap.php --verbose ./tests
  18. - $COMPOSER_BIN/phpcs . --standard=phpcs.xml --warning-severity=0 --extensions=php -p
  19. - name: "PHP 7.1 Syntax and tests"
  20. php: "7.1"
  21. install:
  22. - composer global require phpunit/phpunit ^7
  23. script:
  24. - phpenv rehash
  25. - find . -name \*.php -print0 | xargs -0 -n1 -P4 php -l 1>/dev/null 2>php-l-results
  26. - if [ -s php-l-results ]; then cat php-l-results; exit 1; fi
  27. - COMPOSER_BIN=$(composer global config --absolute bin-dir)
  28. - $COMPOSER_BIN/phpunit --bootstrap ./tests/bootstrap.php --verbose ./tests
  29. - name: "PHP 5.6 Syntax"
  30. php: "5.6"
  31. script:
  32. - phpenv rehash
  33. - find . -name \*.php -print0 | xargs -0 -n1 -P4 php -l 1>/dev/null 2>php-l-results
  34. - if [ -s php-l-results ]; then cat php-l-results; exit 1; fi
  35. - name: "Translations format"
  36. php: "7.3"
  37. script:
  38. - phpenv rehash
  39. - php cli/manipulate.translation.php -a format
  40. - git diff --exit-code
  41. - name: "Translations"
  42. php: "7.3"
  43. script:
  44. - phpenv rehash
  45. - php cli/check.translation.php -r
  46. - name: "Linter JS, CSS, SCSS, Shell and Docker"
  47. language: node_js
  48. node_js:
  49. - "node"
  50. env:
  51. - HADOLINT="$HOME/hadolint"
  52. install:
  53. - npm install --save-dev jshint stylelint stylelint-order stylelint-scss stylelint-config-recommended-scss
  54. - 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}
  55. script:
  56. - node_modules/jshint/bin/jshint .
  57. # check SCSS separately
  58. - stylelint --syntax scss "**/*.scss"
  59. - stylelint "**/*.css"
  60. - bash tests/shellchecks.sh
  61. - git ls-files --exclude='*Dockerfile*' --ignored | xargs --max-lines=1 "$HADOLINT"