forked from wise-gorilla/api-library
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
69 lines (53 loc) · 2.93 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
language: php
services:
- mysql
php:
- 7.2
cache:
directories:
- $HOME/.composer/cache
before_install:
# increase memory limit for all PHP processes
- echo "memory_limit=4G" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
# turn off XDebug
- phpenv config-rm xdebug.ini || return
# install dependencies in parallel
- travis_retry composer global require hirak/prestissimo
# set to test environment for Symfony's commands in post install commands
- export SYMFONY_ENV="test"
install:
- composer install
before_script:
- sudo apt-get update
- sudo apt-get install apache2 libapache2-mod-fastcgi
# enable php-fpm
- 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
- sudo sed -i -e "s,www-data,travis,g" /etc/apache2/envvars
- sudo chown -R travis:travis /var/lib/apache2/fastcgi
- ~/.phpenv/versions/$(phpenv version-name)/sbin/php-fpm
# configure apache virtual hosts
- sudo cp -f travis/travis-ci-apache /etc/apache2/sites-available/000-default.conf
- sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/000-default.conf
- sudo service apache2 restart
script:
# Copy our API library config into the tests/ folder
- cp -a travis/local.config.php.dist tests/local.config.php
# Clone Mautic staging branch from GitHub
- git clone -b staging --single-branch --depth 1 https://github.com/mautic/mautic.git mautic
# Copy our configuration file into the Mautic folder.
- cp -a travis/overrides/app/config/local.php.dist mautic/app/config/local.php
# Install Mautic
- cd mautic
- composer install
- php app/console doctrine:database:create --no-interaction
- php app/console mautic:install:data --force
# Enable Twilio plugin with random credentials (needed for MessagesTest to function, doesn't actually contact Twilio API)
- mysql -e "USE mautictest; UPDATE plugin_integration_settings SET is_published=1, supported_features='a:0:{}', api_keys='a:2:{s:8:\"username\";s:169:\"bzFmNlIydWRSZXlIN2lQVkdpanJ4aTQ2NUh6RVdDbHlLRVhsWGZ4b0kyZVNxLzYrQ1J6V1RvMnlhVEp0c245TEp6eStQekx5ZVhLWjB1YVdoR3RnR2dHQ3k1emVVdGt5NzZKUmtjUnJ3c1E9|L8tbZRIYhwatT7Mq+HAdYA==\";s:8:\"password\";s:169:\"T2d2cFpXQWE5YVZnNFFianJSYURRYUtGRHBNZGZjM1VETXg2Wm5Va3NheW43MjVWUlJhTVlCL2pYMDBpbElONStiVVBNbEM3M3BaeGJMNkFKNUFEN1pTNldSRjc4bUM4SDh1SE9OY1k5MTg9|TeuSvfx4XSUOvp0O7T49Cg==\";}', feature_settings='a:4:{s:20:\"sending_phone_number\";N;s:22:\"disable_trackable_urls\";i:0;s:16:\"frequency_number\";N;s:14:\"frequency_time\";N;}' WHERE name = 'Twilio';"
# Continue Mautic installation
- php app/console mautic:plugins:reload
- php app/console doctrine:migrations:version --add --all --no-interaction
# Run PHPUnit
- cd ../
- vendor/bin/phpunit --fail-on-warning