From 24270877752b1067333be27cf3ae6f316d7aaa54 Mon Sep 17 00:00:00 2001 From: Vijaya Chandran Mani Date: Tue, 2 Jan 2018 22:08:28 +0000 Subject: [PATCH] Adding travis and Drupal quality checker --- .gitignore | 2 + .travis.yml | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++ composer.json | 6 ++- grumphp.yml | 16 ++++++++ 4 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 grumphp.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7579f74 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +vendor +composer.lock diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..84db9ab --- /dev/null +++ b/.travis.yml @@ -0,0 +1,107 @@ +# @file +# .travis.yml - Drupal for Travis CI Integration +# +# Template provided by https://github.com/LionsAd/drupal_ti. +# +# Based for simpletest upon: +# https://github.com/sonnym/travis-ci-drupal-module-example + +language: php + +sudo: false + +dist: precise + +php: + - 7.1 + +matrix: + fast_finish: true + +env: + global: + - PHANTOMJS2_VERSION="2.0.0" + # add composer's global bin directory to the path + # see: https://github.com/drush-ops/drush#install---composer + - PATH="$PATH:$HOME/.composer/vendor/bin" + + # Configuration variables. + - DRUPAL_TI_MODULE_NAME="simplelist" + - DRUPAL_TI_SIMPLETEST_GROUP="simplelist" + + # Define runners and environment vars to include before and after the + # main runners / environment vars. + #- DRUPAL_TI_SCRIPT_DIR_BEFORE="./drupal_ti/before" + #- DRUPAL_TI_SCRIPT_DIR_AFTER="./drupal_ti/after" + + # The environment to use, supported are: drupal-7, drupal-8 + - DRUPAL_TI_ENVIRONMENT="drupal-8" + - DRUPAL_TI_CORE_BRANCH="8.5.x" + + # Drupal specific variables. + - DRUPAL_TI_DB="drupal_travis_db" + - DRUPAL_TI_DB_URL="mysql://root:@127.0.0.1/drupal_travis_db" + # Note: Do not add a trailing slash here. + - DRUPAL_TI_WEBSERVER_URL="http://127.0.0.1" + - DRUPAL_TI_WEBSERVER_PORT="8080" + + # Simpletest specific commandline arguments, the DRUPAL_TI_SIMPLETEST_GROUP is appended at the end. + - DRUPAL_TI_SIMPLETEST_ARGS="--verbose --color --concurrency 20 --url $DRUPAL_TI_WEBSERVER_URL:$DRUPAL_TI_WEBSERVER_PORT --types Simpletest,PHPUnit-Unit,PHPUnit-Kernel,PHPUnit-Functional" + - DRUPAL_TI_SIMPLETEST_JS_ARGS="--verbose --color --concurrency 1 --url $DRUPAL_TI_WEBSERVER_URL:$DRUPAL_TI_WEBSERVER_PORT --types PHPUnit-FunctionalJavascript" + + # PHPUnit specific commandline arguments. + - DRUPAL_TI_PHPUNIT_ARGS="" + # Specifying the phpunit-core src/ directory is useful when e.g. a vendor/ + # directory is present in the module directory, which phpunit would then + # try to find tests in. This option is relative to $TRAVIS_BUILD_DIR. + # - DRUPAL_TI_PHPUNIT_CORE_SRC_DIRECTORY="./tests/src" + + + # Debug options + #- DRUPAL_TI_DEBUG="-x -v" + # Set to "all" to output all files, set to e.g. "xvfb selenium" or "selenium", + # etc. to only output those channels. + #- DRUPAL_TI_DEBUG_FILE_OUTPUT="selenium xvfb webserver" + + matrix: + # [[[ SELECT ANY OR MORE OPTIONS ]]] + #- DRUPAL_TI_RUNNERS="phpunit" + - DRUPAL_TI_RUNNERS="simpletest" + #- DRUPAL_TI_RUNNERS="behat" + #- DRUPAL_TI_RUNNERS="phpunit-core simpletest" + +mysql: + database: drupal_travis_db + username: root + encoding: utf8 + +before_install: + # Remove xdebug. We aren't generating code coverage, and it slows down Composer. + - phpenv config-rm xdebug.ini || true + # Add the oauth token to prevent GitHub timeouts. + - git config --global github.accesstoken $GITHUB_OAUTH_TOKEN + - composer global require "hirak/prestissimo:^0.3" + - composer global require "lionsad/drupal_ti:dev-master#396d11d200005eb68491d24170da0a98ae7f51b3" + - composer global require "squizlabs/php_codesniffer:2.*" + - drupal-ti before_install + +install: + - drupal-ti install + - composer global require "drupal/coder:8.2.*" + - phpcs --config-set installed_paths $HOME/.composer/vendor/drupal/coder/coder_sniffer + +before_script: + - drupal-ti before_script + +script: + - phpcs --standard=phpcs.xml src -s + - phpcs --standard=phpcs.xml tests -s + - phpcs --standard=phpcs.xml simplelist.module + + - drupal-ti script + +after_script: + - drupal-ti after_script + +notifications: + email: false diff --git a/composer.json b/composer.json index 328a11d..da51193 100644 --- a/composer.json +++ b/composer.json @@ -3,5 +3,9 @@ "description": "Provides an easy way to build simple FAQ like list pages.", "type": "drupal-module", "homepage": "http://drupal.org/project/simplelist", - "license": "GPL-2.0+" + "license": "GPL-2.0+", + "minimum-stability": "dev", + "require-dev": { + "vijaycs85/drupal-quality-checker": "^1.0" + } } diff --git a/grumphp.yml b/grumphp.yml new file mode 100644 index 0000000..16dbb10 --- /dev/null +++ b/grumphp.yml @@ -0,0 +1,16 @@ +parameters: + ascii: + failed: vendor/vijaycs85/drupal-quality-checker/resources/ascii/grumpy.txt + succeeded: vendor/vijaycs85/drupal-quality-checker/resources/ascii/happy.txt + git_dir: . + bin_dir: vendor/bin + tasks: + phplint: ~ + yamllint: ~ + composer: ~ + jsonlint: ~ + phpcpd: ~ + phpcpd: + directory: './src' + phpcs: + standard: Drupal