forked from M1r1k/captcha
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
95 lines (78 loc) · 3.55 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
language: php
php:
- 5.4
- 5.5
# Disabled until core fixes the broken requirements check in
# https://www.drupal.org/node/2332295
# - 5.6
env:
global:
- MODULE_NAME='captcha'
- MODULE_TEST_GROUP='captcha'
- DRUPAL_REPO='git://drupalcode.org/project/drupal.git'
- DRUPAL_VERSION='8.0.x'
- PHPCS_VERSION='2.0.0RC1'
- CODER_VERSION='dev-8.x-2.x'
mysql:
database: captcha
username: root
encoding: utf8
before_install:
- sudo apt-get update > /dev/null
# Always update Composer to the recent version, otherwise the drush
# installation fails.
- composer selfupdate
install:
# Install php packages required for running a web server from drush.
- sudo apt-get install -y --force-yes php5-cgi php5-mysql
# Add composer's global bin directory to the path.
# @see: https://github.com/drush-ops/drush#install---composer
- export PATH="$HOME/.composer/vendor/bin:$PATH"
# install drush globally
- composer global require drush/drush:dev-master
# install internal http server
- composer global require youngj/httpserver:dev-master
# install php code sniffer globally
- composer global require squizlabs/php_codesniffer:$PHPCS_VERSION
- composer global require drupal/coder:$CODER_VERSION
# LAMP package installation (mysql is already started)
- sudo apt-get update
- sudo apt-get install apache2 libapache2-mod-fastcgi
# enable php-fpm, travis does not support any other method with php and apache
- sudo cp ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf.default ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf
- sudo a2enmod rewrite actions fastcgi alias
- echo "cgi.fix_pathinfo = 1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
- ~/.phpenv/versions/$(phpenv version-name)/sbin/php-fpm
# Make sure the apache root is in our wanted directory
- echo "$(curl -fsSL https://gist.githubusercontent.com/nickveenhof/11386315/raw/b8abaf9304fe12b5cc7752d39c29c1edae8ac2e6/gistfile1.txt)" | sed -e "s,PATH,$TRAVIS_BUILD_DIR/../drupal,g" | sudo tee /etc/apache2/sites-available/default > /dev/null
# Restart apache and test it
- sudo service apache2 restart
- curl -v "http://localhost"
before_script:
# Create a Drupal coding standard reference in PHPCS coding standards.
- ln -s ~/.composer/vendor/drupal/coder/coder_sniffer/Drupal ~/.composer/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards
# Remember the current rules test directory for later use in the Drupal
# installation.
- TESTDIR=$(pwd)
# Navigate out of module directory to prevent blown stack by recursive module
# lookup.
- cd ..
# Create new site, stubbing sendmail path with true to prevent delivery errors
# and manually resolving drush path.
- mysql -e 'create database drupal'
# Download Drupal 8 core.
- git clone --depth 1 --branch $DRUPAL_VERSION $DRUPAL_REPO drupal
- cd drupal
- ln -s $TESTDIR modules/$MODULE_NAME
# Run the Coder sniffer.
- phpcs --report=full --standard=Drupal ./modules/$MODULE_NAME
# Run the PHPUnit tests.
- ./core/vendor/phpunit/phpunit/phpunit -c ./core/phpunit.xml.dist ./modules/$MODULE_NAME
# Install Drupal.
- php -d sendmail_path=`which true` ~/.composer/vendor/bin/drush.php --yes site-install --db-url=mysql://root:@127.0.0.1/drupal testing
- composer require gregwar/captcha:1.0.11
# Reference and enable rules in build site.
- drush --yes pm-enable simpletest $MODULE_NAME
script:
# Run the Simpletests for Rules.
- php ./core/scripts/run-tests.sh --php `which php` --concurrency 12 --url http://localhost/ --verbose --color "$MODULE_TEST_GROUP"