.travis.yml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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"
  36. php: "7.3"
  37. script:
  38. - phpenv rehash
  39. - php cli/check.translation.php -r
  40. - name: "Linter JS, CSS, SCSS, Shell and Docker"
  41. language: node_js
  42. node_js:
  43. - "node"
  44. env:
  45. - HADOLINT="$HOME/hadolint"
  46. install:
  47. - npm install --save-dev jshint stylelint stylelint-order stylelint-scss stylelint-config-recommended-scss
  48. - 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}
  49. script:
  50. - node_modules/jshint/bin/jshint .
  51. # check SCSS separately
  52. - stylelint --syntax scss "**/*.scss"
  53. - stylelint "**/*.css"
  54. - bash tests/shellchecks.sh
  55. - git ls-files --exclude='*Dockerfile*' --ignored | xargs --max-lines=1 "$HADOLINT"