forked from PrestaShop/PrestaShop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
108 lines (92 loc) · 2.81 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
96
97
98
99
100
101
102
103
104
105
106
107
108
language: php
addons:
chrome: stable
apt:
packages:
- apache2
- postfix
- libapache2-mod-fastcgi
- libappindicator1
- fonts-liberation
cache:
directories:
- $HOME/.composer/cache
sudo: required
dist: trusty
php:
- 5.6
- 7.2
env:
global:
- SYMFONY_DEPRECATIONS_HELPER=disabled
matrix:
- PRESTASHOP_TEST_TYPE=lint
- PRESTASHOP_TEST_TYPE=unit
- PRESTASHOP_TEST_TYPE=e2e
matrix:
include:
- php: 7.2
env: EXTRA_DEPS=phpHigh PRESTASHOP_TEST_TYPE=unit
- php: 7.2
env: PRESTASHOP_TEST_TYPE=e2e EXTRA_TESTS=functional
- stage: deploy
php: 7.2
before_install: skip
script:
- mkdir -p /tmp/ps-release
- php tools/build/CreateRelease.php --destination-dir=/tmp/ps-release
- cd /tmp/ps-release
&& today=`date +%Y-%m-%d-`; for i in *; do mv $i $today$i; done
&& cd -
if: type = cron
deploy:
provider: gcs
access_key_id: $GCS_ACCESS_KEY
secret_access_key: $GCS_ACCESS_SECRET
bucket: prestashop-core-nightly
skip_cleanup: true
acl: public-read
local-dir: "/tmp/ps-release"
on:
all_branches: true
exclude:
- php: 7.2 # Replaced with additional tests
env: PRESTASHOP_TEST_TYPE=e2e
before_install:
# Avoid Composer authentication issues
- if [[ $TRAVIS_REPO_SLUG = PrestaShop/PrestaShop ]]; then cp travis-scripts/.composer-auth.json ~/.composer/auth.json; fi;
# Apache & php-fpm configuration
- bash travis-scripts/setup-php-fpm.sh
- bash travis-scripts/setup-apache.sh
# PrestaShop configuration
- cp tests-legacy/parameters.yml.travis app/config/parameters.yml
notifications:
hipchat: ec4e21c5eb82066ba8be5fd1afefde@1184657
script:
- if [ $EXTRA_DEPS = "phpHigh" ]; then
composer update --ignore-platform-reqs;
else
composer install --prefer-dist --no-interaction --no-progress;
fi
- bash travis-scripts/install-prestashop
- if [ $PRESTASHOP_TEST_TYPE = "lint" ]; then
bash tests-legacy/check_file_syntax.sh;
fi
- if [ $PRESTASHOP_TEST_TYPE = "unit" ]; then
bash tests-legacy/check_phpunit.sh;
bash tests/check_unit.sh;
fi
- if [ $PRESTASHOP_TEST_TYPE = "e2e" ]; then
bash tests-legacy/check_e2e.sh;
fi
after_script:
- sudo cat /var/log/apache2/error.log
after_failure:
- curl -L http://localhost/
- cat /etc/apache2/envvars
- cat /etc/apache2/sites-available/000-default.conf
- sudo cat /var/log/php-fpm.log
- sudo ls -l /var/log/apache2
- sudo cat /var/log/apache2/other_vhosts_access.log
- if [ ! -z "$PRESTASTHOP_SCREENHOST" ]; then bash ./travis-scripts/base64-screenshots; fi # As we cannot upload file, we display the base64 encoded content of the screenshots
- cat $TRAVIS_BUILD_DIR/var/log/dev.log