diff --git a/.travis.yml b/.travis.yml new file mode 100755 index 0000000..ced5b1a --- /dev/null +++ b/.travis.yml @@ -0,0 +1,108 @@ +# Travis CI (MIT License) configuration file for the FoundationPress WordPress theme. +# @link https://travis-ci.org/ + +# For use with the FoundationPress WordPress theme. +# @link https://github.com/olefredrik/foundationpress + +# Declare project language. +# @link http://about.travis-ci.org/docs/user/languages/php/ +language: php + +# Declare versions of PHP to use. Use one decimal max. +php: + # aliased to a recent 7.1.x version + - "7.1" + # aliased to a recent 7.0.x version + - "7.0" + # aliased to a recent 5.6.x version + - "5.6" + +# Declare which versions of WordPress to test against. +# Also declare whether or not to test in Multisite. +env: + # Trunk + # @link https://github.com/WordPress/WordPress + - WP_VERSION=master WP_MULTISITE=0 + - WP_VERSION=master WP_MULTISITE=1 + # WordPress 4.3 + # @link https://github.com/WordPress/WordPress/tree/4.3-branch + - WP_VERSION=4.3 WP_MULTISITE=0 + - WP_VERSION=4.3 WP_MULTISITE=1 + +# Declare 7.1 beta in test matrix. +# @link https://buddypress.trac.wordpress.org/ticket/5620 +# @link http://docs.travis-ci.com/user/build-configuration/ +matrix: + include: + - php: nightly + env: + - WP_VERSION=master WP_MULTISITE=0 + - WP_VERSION=master WP_MULTISITE=1 + allow_failures: + - php: nightly + fast_finish: true + +# Use this to prepare the system to install prerequisites or dependencies. +# e.g. sudo apt-get update. +# Failures in this section will result in build status 'errored'. +# before_install: + +# Use this to prepare your build for testing. +# e.g. copy database configurations, environment variables, etc. +# Failures in this section will result in build status 'errored'. +before_script: + # Set up WordPress installation. + - export WP_DEVELOP_DIR=/tmp/wordpress/ + - mkdir -p $WP_DEVELOP_DIR + # Use the Git mirror of WordPress. + #- git clone --depth=1 --branch="$WP_VERSION" git://develop.git.wordpress.org/ $WP_DEVELOP_DIR + # Set up theme information. + - theme_slug=$(basename $(pwd)) + #- theme_dir=$WP_DEVELOP_DIR/src/wp-content/themes/$theme_slug + - theme_dir=$WP_DEVELOP_DIR/$theme_slug + - cd .. + - mv $theme_slug $theme_dir + # Set up WordPress configuration. + - cd $WP_DEVELOP_DIR + - echo $WP_DEVELOP_DIR + #- cp wp-tests-config-sample.php wp-tests-config.php + #- sed -i "s/youremptytestdbnamehere/wordpress_test/" wp-tests-config.php + #- sed -i "s/yourusernamehere/root/" wp-tests-config.php + #- sed -i "s/yourpasswordhere//" wp-tests-config.php + # Create WordPress database. + #- mysql -e 'CREATE DATABASE wordpress_test;' -uroot + # Install CodeSniffer for WordPress Coding Standards checks. + - git clone --branch 2.9.1 --single-branch https://github.com/squizlabs/PHP_CodeSniffer.git php-codesniffer --depth=1 + # Install WordPress Coding Standards. + - git clone --branch 0.11.0 --single-branch https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git wordpress-coding-standards --depth=1 + # Hop into CodeSniffer directory. + - cd php-codesniffer + # Set install path for WordPress Coding Standards. + # @link https://github.com/squizlabs/PHP_CodeSniffer/blob/4237c2fc98cc838730b76ee9cee316f99286a2a7/CodeSniffer.php#L1941 + - scripts/phpcs --config-set installed_paths ../wordpress-coding-standards + # Hop into themes directory. + - cd $theme_dir + # After CodeSniffer install you should refresh your path. + - phpenv rehash + +# Run test script commands. +# Default is specific to project language. +# All commands must exit with code 0 on success. Anything else is considered failure. +script: + # Search for PHP syntax errors. + - find . \( -name '*.php' \) -exec php -lf {} \; + # WordPress Coding Standards + # @link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards + # @link http://pear.php.net/package/PHP_CodeSniffer/ + # -p flag: Show progress of the run. + # -s flag: Show sniff codes in all reports. + # -v flag: Print verbose output. + # -n flag: Do not print warnings. (shortcut for --warning-severity=0) + # --standard: Use WordPress as the standard. + # --extensions: Only sniff PHP files. + - $WP_DEVELOP_DIR/php-codesniffer/scripts/phpcs -p -s -v -n . --standard=./codesniffer.ruleset.xml --extensions=php + +# Receive notifications for build results. +# @link http://docs.travis-ci.com/user/notifications/#Email-notifications +notifications: + email: false diff --git a/codesniffer.ruleset.xml b/codesniffer.ruleset.xml new file mode 100755 index 0000000..c44ba63 --- /dev/null +++ b/codesniffer.ruleset.xml @@ -0,0 +1,22 @@ + + + */vendor/* + + + + + + + + + + + + + + + + + + + \ No newline at end of file