forked from joomla/backend-template
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.drone.yml
131 lines (113 loc) · 3.85 KB
/
.drone.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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
pipeline:
clone:
image: plugins/git
depth: 1
phpcs:
image: joomlaprojects/docker-phpcs
commands:
- echo $(date)
- /root/.composer/vendor/bin/phpcs --report=full --encoding=utf-8 --extensions=php -p --standard=build/phpcs/Joomla .
- echo $(date)
restore-cache:
image: drillster/drone-volume-cache
restore: true
mount:
- ./node_modules
- ./libraries/vendor
volumes:
- /tmp/cache:/cache
prepare:
image: joomlaprojects/docker-tools:develop
commands:
- composer install --no-progress --no-suggest
# needed for system testing
- composer update joomla/test-system --no-progress --no-suggest
- composer update joomla/test-api --no-progress --no-suggest
- composer update joomla-projects/selenium-server-standalone --no-progress --no-suggest
- composer update joomla-projects/joomla-browser --no-progress --no-suggest
- npm install --unsafe-perm
rebuild-cache:
image: drillster/drone-volume-cache
rebuild: true
mount:
- ./node_modules
- ./libraries/vendor
volumes:
- /tmp/cache:/cache
php70-unit:
group: unit
image: joomlaprojects/docker-php70:develop
commands:
- ./libraries/vendor/bin/phpunit
php71-unit:
group: unit
image: joomlaprojects/docker-php71:develop
commands:
- ./libraries/vendor/bin/phpunit
php72-unit:
group: unit
image: joomlaprojects/docker-php72:develop
commands:
- ./libraries/vendor/bin/phpunit
javascript-cs:
image: joomlaprojects/docker-systemtests:develop
commands:
- export DISPLAY=:0
- Xvfb -screen 0 1024x768x24 -ac +extension GLX +render -noreset > /dev/null 2>&1 &
- sleep 3
- fluxbox > /dev/null 2>&1 &
- npm run lint:js
javascript-tests:
image: joomlaprojects/docker-systemtests:develop
commands:
- export DISPLAY=:0
- Xvfb -screen 0 1024x768x24 -ac +extension GLX +render -noreset > /dev/null 2>&1 &
- sleep 3
- fluxbox > /dev/null 2>&1 &
- npm run test
system-tests:
image: joomlaprojects/docker-systemtests:develop
commands:
- bash libraries/vendor/joomla/test-system/src/drone-run.sh "$(pwd)"
api-tests:
image: joomlaprojects/docker-systemtests:latest
commands:
- bash libraries/vendor/joomla/test-api/drone-run.sh "$(pwd)"
analysis3x:
image: rips/rips-cli:1.2.1
secrets: [rips_username, rips_password]
when:
branch: staging
commands:
- export RIPS_BASE_URI='https://api.rips.joomla.org'
- export RIPS_USERNAME=$RIPS_USERNAME
- export RIPS_PASSWORD=$RIPS_PASSWORD
- if [ $DRONE_REPO_OWNER != 'joomla' ]; then echo "The analysis check only run on the main repos"; exit 0; fi
- rips-cli rips:scan:start -a 1 -t 1 -R -k -p $(pwd) -t 1 -T $DRONE_REPO_OWNER-$DRONE_BRANCH || { echo "Please contact the security team at [email protected]"; exit 1; }
analysis4x:
image: rips/rips-cli:1.2.1
secrets: [rips_username, rips_password]
when:
branch: 4.0-dev
commands:
- export RIPS_BASE_URI='https://api.rips.joomla.org'
- export RIPS_USERNAME=$RIPS_USERNAME
- export RIPS_PASSWORD=$RIPS_PASSWORD
- if [ $DRONE_REPO_OWNER != 'joomla' ]; then echo "The analysis check only run on the main repos"; exit 0; fi
- rips-cli rips:scan:start -a 3 -t 1 -R -k -p $(pwd) -t 1 -T $DRONE_REPO_OWNER-$DRONE_BRANCH || { echo "Please contact the security team at [email protected]"; exit 1; }
branches:
exclude: [ l10n_* ]
services:
mysql:
image: mysql:5.7
environment:
MYSQL_USER: joomla_ut
MYSQL_PASSWORD: joomla_ut
MYSQL_ROOT_PASSWORD: joomla_ut
MYSQL_DATABASE: test_joomla
memcached:
image: memcached:alpine
redis:
image: redis:alpine
postgres:
image: postgres