Skip to content

Commit

Permalink
Travis-CI tweaks and gitattributes/gitignore tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
sc0ttkclark committed Nov 21, 2014
1 parent 14d046e commit eaa5ad1
Show file tree
Hide file tree
Showing 4 changed files with 105 additions and 79 deletions.
25 changes: 3 additions & 22 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,26 +1,7 @@
# Auto detect text files and perform LF normalization
* text=auto

# Ignore
/tests export-ignore
/sources export-ignore
kill-travis.php export-ignore
/assets export-ignore

# Custom for Visual Studio
*.cs diff=csharp
*.sln merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union

# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
/assets export-ignore
22 changes: 9 additions & 13 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,27 +15,23 @@ $RECYCLE.BIN/
*.sublime-project
*.sublime-workspace

# Dropbox
.dropbox
.dropbox.attr

# SASS
.sass-cache/*

# PhpStorm
.idea

# Eclipse
*.pydevproject
.project
.metadata
bin/
build/
tmp/
tests/clover.xml

# Dropbox
.dropbox
.dropbox.attr

# SASS
.sass-cache/*

# Node
node_modules/*

# WP Tests dir
wp-tests
# Grunt
node_modules
59 changes: 15 additions & 44 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,55 +5,26 @@ php:
- 5.4
- 5.5
- 5.6
- hhvm
- hhvm-nightly

matrix:
allow_failures:
- php: 5.6
- php: hhvm
- php: hhvm-nightly

env:
- WP_VERSION=3.4.2 WP_MULTISITE=0 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=3.5.2 WP_MULTISITE=0 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=3.6.1 WP_MULTISITE=0 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=3.7.5 WP_MULTISITE=0 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=3.8.5 WP_MULTISITE=0 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=3.9.3 WP_MULTISITE=0 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=4.0.1 WP_MULTISITE=0 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=master WP_MULTISITE=0 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=3.4.2 WP_MULTISITE=1 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=3.5.2 WP_MULTISITE=1 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=3.6.1 WP_MULTISITE=1 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=3.7.5 WP_MULTISITE=1 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=3.8.5 WP_MULTISITE=1 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=3.9.3 WP_MULTISITE=1 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=4.0.1 WP_MULTISITE=1 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=master WP_MULTISITE=1 WP_TESTS_DIR=/tmp/wordpress-tests
- WP_VERSION=latest WP_MULTISITE=0
- WP_VERSION=latest WP_MULTISITE=1
- WP_VERSION=4.0 WP_MULTISITE=0
- WP_VERSION=4.0 WP_MULTISITE=1
- WP_VERSION=3.9 WP_MULTISITE=0
- WP_VERSION=3.9 WP_MULTISITE=1
- WP_VERSION=3.8 WP_MULTISITE=0
- WP_VERSION=3.8 WP_MULTISITE=1
- WP_VERSION=3.7 WP_MULTISITE=0
- WP_VERSION=3.6 WP_MULTISITE=0
- WP_VERSION=3.5 WP_MULTISITE=0
- WP_VERSION=3.4 WP_MULTISITE=0

before_script:
- mkdir -p tmp
- WP_CORE_DIR=tmp/wordpress/
- WP_TESTS_DIR=tmp/wordpress-tests/
- svn co --ignore-externals http://core.svn.wordpress.org/trunk/ tmp/wordpress/
- svn co --ignore-externals http://unit-tests.svn.wordpress.org/trunk/ tmp/wordpress-tests/
- cp tmp/wordpress-tests/wp-tests-config-sample.php tmp/wordpress-tests/wp-tests-config.php
- sed -i "s:dirname( __FILE__ ) . '/wordpress/':'$WP_CORE_DIR':" tmp/wordpress-tests/wp-tests-config.php
- sed -i "s/yourdbnamehere/wordpress_test/" tmp/wordpress-tests/wp-tests-config.php
- sed -i "s/yourusernamehere/root/" tmp/wordpress-tests/wp-tests-config.php
- sed -i "s/yourpasswordhere//" tmp/wordpress-tests/wp-tests-config.php
- mysql -e 'CREATE DATABASE wordpress_test;' -uroot
- wget http://getcomposer.org/composer.phar
- php composer.phar install --dev --no-interaction

script:
- mkdir -p build/logs
- phpunit -c phpunit.xml.dist
- bash bin/install-wp-tests.sh wordpress_test root '' localhost $WP_VERSION

after_script:
- php vendor/bin/coveralls --config tests/framework/.coveralls.yml -v --exclude-no-stmt
script: phpunit

branches:
only:
- 2.x
- 2.x
78 changes: 78 additions & 0 deletions bin/install-wp-tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
#!/usr/bin/env bash

if [ $# -lt 3 ]; then
echo "usage: $0 <db-name> <db-user> <db-pass> [db-host] [wp-version]"
exit 1
fi

DB_NAME=$1
DB_USER=$2
DB_PASS=$3
DB_HOST=${4-localhost}
WP_VERSION=${5-latest}

WP_TESTS_DIR=${WP_TESTS_DIR-/tmp/wordpress-tests-lib}
WP_CORE_DIR=/tmp/wordpress/

set -ex

install_wp() {
mkdir -p $WP_CORE_DIR

if [ $WP_VERSION == 'latest' ]; then
local ARCHIVE_NAME='latest'
else
local ARCHIVE_NAME="wordpress-$WP_VERSION"
fi

wget -nv -O /tmp/wordpress.tar.gz https://wordpress.org/${ARCHIVE_NAME}.tar.gz
tar --strip-components=1 -zxmf /tmp/wordpress.tar.gz -C $WP_CORE_DIR

wget -nv -O $WP_CORE_DIR/wp-content/db.php https://raw.github.com/markoheijnen/wp-mysqli/master/db.php
}

install_test_suite() {
# portable in-place argument for both GNU sed and Mac OSX sed
if [[ $(uname -s) == 'Darwin' ]]; then
local ioption='-i .bak'
else
local ioption='-i'
fi

# set up testing suite
mkdir -p $WP_TESTS_DIR
cd $WP_TESTS_DIR
svn co --quiet https://develop.svn.wordpress.org/trunk/tests/phpunit/includes/

wget -nv -O wp-tests-config.php http://develop.svn.wordpress.org/trunk/wp-tests-config-sample.php
sed $ioption "s:dirname( __FILE__ ) . '/src/':'$WP_CORE_DIR':" wp-tests-config.php
sed $ioption "s/youremptytestdbnamehere/$DB_NAME/" wp-tests-config.php
sed $ioption "s/yourusernamehere/$DB_USER/" wp-tests-config.php
sed $ioption "s/yourpasswordhere/$DB_PASS/" wp-tests-config.php
sed $ioption "s|localhost|${DB_HOST}|" wp-tests-config.php
}

install_db() {
# parse DB_HOST for port or socket references
local PARTS=(${DB_HOST//\:/ })
local DB_HOSTNAME=${PARTS[0]};
local DB_SOCK_OR_PORT=${PARTS[1]};
local EXTRA=""

if ! [ -z $DB_HOSTNAME ] ; then
if [[ "$DB_SOCK_OR_PORT" =~ ^[0-9]+$ ]] ; then
EXTRA=" --host=$DB_HOSTNAME --port=$DB_SOCK_OR_PORT --protocol=tcp"
elif ! [ -z $DB_SOCK_OR_PORT ] ; then
EXTRA=" --socket=$DB_SOCK_OR_PORT"
elif ! [ -z $DB_HOSTNAME ] ; then
EXTRA=" --host=$DB_HOSTNAME --protocol=tcp"
fi
fi

# create database
mysqladmin create $DB_NAME --user="$DB_USER" --password="$DB_PASS"$EXTRA
}

install_wp
install_test_suite
install_db

0 comments on commit eaa5ad1

Please sign in to comment.