|
1 | | ---- |
2 | | -kind: pipeline |
3 | | -name: default |
4 | | - |
5 | | -clone: |
6 | | - |
7 | | -steps: |
8 | | - - name: setup |
9 | | - image: joomlaprojects/docker-images:php8.4 |
10 | | - volumes: |
11 | | - - name: certificates |
12 | | - path: /certificates |
13 | | - commands: |
14 | | - - cp -v tests/certs/* /certificates/ |
15 | | - |
16 | | - - name: composer |
17 | | - image: joomlaprojects/docker-images:php8.4 |
18 | | - volumes: |
19 | | - - name: composer-cache |
20 | | - path: /tmp/composer-cache |
21 | | - commands: |
22 | | - - composer validate --no-check-all --strict |
23 | | - - composer install --no-progress --ignore-platform-reqs |
24 | | - |
25 | | - - name: phpcs |
26 | | - image: joomlaprojects/docker-images:php8.1 |
27 | | - depends_on: [ composer ] |
28 | | - commands: |
29 | | - - echo $(date) |
30 | | - - ./libraries/vendor/bin/php-cs-fixer fix -vvv --dry-run --diff |
31 | | - - ./libraries/vendor/bin/phpcs --extensions=php -p --standard=ruleset.xml . |
32 | | - - echo $(date) |
33 | | - |
34 | | - - name: phpstan |
35 | | - image: joomlaprojects/docker-images:php8.2 |
36 | | - depends_on: [ phpcs ] |
37 | | - commands: |
38 | | - - ./libraries/vendor/bin/phpstan |
39 | | - |
40 | | - - name: npm |
41 | | - image: node:20-bullseye-slim |
42 | | - depends_on: [ phpcs ] |
43 | | - volumes: |
44 | | - - name: npm-cache |
45 | | - path: /tmp/npm-cache |
46 | | - environment: |
47 | | - npm_config_cache: /tmp/npm-cache |
48 | | - commands: |
49 | | - - npm ci --unsafe-perm |
50 | | - |
51 | | - - name: php81-unit |
52 | | - depends_on: [ phpcs ] |
53 | | - image: joomlaprojects/docker-images:php8.1 |
54 | | - commands: |
55 | | - - php -v |
56 | | - - ./libraries/vendor/bin/phpunit --testsuite Unit |
57 | | - |
58 | | - - name: php82-unit |
59 | | - depends_on: [ phpcs ] |
60 | | - image: joomlaprojects/docker-images:php8.2 |
61 | | - commands: |
62 | | - - php -v |
63 | | - - ./libraries/vendor/bin/phpunit --testsuite Unit |
64 | | - |
65 | | - - name: php83-unit |
66 | | - depends_on: [ phpcs ] |
67 | | - image: joomlaprojects/docker-images:php8.3 |
68 | | - commands: |
69 | | - - php -v |
70 | | - - ./libraries/vendor/bin/phpunit --testsuite Unit |
71 | | - |
72 | | - - name: php84-unit |
73 | | - depends_on: [ phpcs ] |
74 | | - image: joomlaprojects/docker-images:php8.4 |
75 | | - commands: |
76 | | - - php -v |
77 | | - - ./libraries/vendor/bin/phpunit --testsuite Unit |
78 | | - |
79 | | - - name: php81-integration |
80 | | - depends_on: [ npm ] |
81 | | - image: joomlaprojects/docker-images:php8.1 |
82 | | - commands: |
83 | | - - php -v |
84 | | - - ./libraries/vendor/bin/phpunit --testsuite Integration |
85 | | - |
86 | | - - name: php82-integration |
87 | | - depends_on: [ npm ] |
88 | | - image: joomlaprojects/docker-images:php8.2 |
89 | | - commands: |
90 | | - - php -v |
91 | | - - ./libraries/vendor/bin/phpunit --testsuite Integration |
92 | | - |
93 | | - - name: php83-integration |
94 | | - depends_on: [ npm ] |
95 | | - image: joomlaprojects/docker-images:php8.3 |
96 | | - commands: |
97 | | - - php -v |
98 | | - - ./libraries/vendor/bin/phpunit --testsuite Integration |
99 | | - |
100 | | - - name: php84-integration |
101 | | - depends_on: [ npm ] |
102 | | - image: joomlaprojects/docker-images:php8.4 |
103 | | - commands: |
104 | | - - php -v |
105 | | - - ./libraries/vendor/bin/phpunit --testsuite Integration |
106 | | - |
107 | | - - name: php81-integration-pgsql |
108 | | - depends_on: [ npm ] |
109 | | - image: joomlaprojects/docker-images:php8.1 |
110 | | - commands: |
111 | | - - php -v |
112 | | - - ./libraries/vendor/bin/phpunit --testsuite Integration --configuration phpunit-pgsql.xml.dist |
113 | | - |
114 | | - - name: php82-integration-pgsql |
115 | | - depends_on: [ npm ] |
116 | | - image: joomlaprojects/docker-images:php8.2 |
117 | | - commands: |
118 | | - - php -v |
119 | | - - ./libraries/vendor/bin/phpunit --testsuite Integration --configuration phpunit-pgsql.xml.dist |
120 | | - |
121 | | - - name: php83-integration-pgsql |
122 | | - depends_on: [ npm ] |
123 | | - image: joomlaprojects/docker-images:php8.3 |
124 | | - commands: |
125 | | - - php -v |
126 | | - - ./libraries/vendor/bin/phpunit --testsuite Integration --configuration phpunit-pgsql.xml.dist |
127 | | - |
128 | | - - name: php84-integration-pgsql |
129 | | - depends_on: [ npm ] |
130 | | - image: joomlaprojects/docker-images:php8.4 |
131 | | - commands: |
132 | | - - php -v |
133 | | - - ./libraries/vendor/bin/phpunit --testsuite Integration --configuration phpunit-pgsql.xml.dist |
134 | | - |
135 | | - - name: scss-cs |
136 | | - depends_on: [ npm ] |
137 | | - image: node:current-alpine |
138 | | - commands: |
139 | | - - npm run lint:css |
140 | | - |
141 | | - - name: javascript-cs |
142 | | - depends_on: [ npm ] |
143 | | - image: node:current-alpine |
144 | | - commands: |
145 | | - - npm run lint:js |
146 | | - - npm run lint:testjs |
147 | | - |
148 | | - - name: prepare_system_tests |
149 | | - depends_on: |
150 | | - - npm |
151 | | - image: joomlaprojects/docker-images:cypress8.4 |
152 | | - volumes: |
153 | | - - name: cypress-cache |
154 | | - path: /root/.cache/Cypress |
155 | | - environment: |
156 | | - CYPRESS_VERIFY_TIMEOUT: 100000 |
157 | | - commands: |
158 | | - - cp cypress.config.dist.mjs cypress.config.mjs |
159 | | - - npx cypress install |
160 | | - - npx cypress verify |
161 | | - |
162 | | - - name: phpmin-system-mysql |
163 | | - depends_on: |
164 | | - - prepare_system_tests |
165 | | - image: joomlaprojects/docker-images:cypress8.1 |
166 | | - volumes: |
167 | | - - name: cypress-cache |
168 | | - path: /root/.cache/Cypress |
169 | | - environment: |
170 | | - JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1 |
171 | | - commands: |
172 | | - - bash tests/System/entrypoint.sh "$(pwd)" cmysql mysqli mysql |
173 | | - |
174 | | - - name: phpmax-system-mysql |
175 | | - depends_on: |
176 | | - - phpmin-system-mysql |
177 | | - image: joomlaprojects/docker-images:cypress8.4 |
178 | | - volumes: |
179 | | - - name: cypress-cache |
180 | | - path: /root/.cache/Cypress |
181 | | - environment: |
182 | | - JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1 |
183 | | - commands: |
184 | | - - bash tests/System/entrypoint.sh "$(pwd)" cmysqlmax mysqli mysql |
185 | | - when: |
186 | | - event: |
187 | | - exclude: |
188 | | - - pull_request |
189 | | - |
190 | | - |
191 | | - - name: phpmin-system-postgres |
192 | | - depends_on: |
193 | | - - prepare_system_tests |
194 | | - image: joomlaprojects/docker-images:cypress8.1 |
195 | | - volumes: |
196 | | - - name: cypress-cache |
197 | | - path: /root/.cache/Cypress |
198 | | - environment: |
199 | | - JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1 |
200 | | - commands: |
201 | | - - bash tests/System/entrypoint.sh "$(pwd)" cpostgres pgsql postgres |
202 | | - when: |
203 | | - event: |
204 | | - exclude: |
205 | | - - pull_request |
206 | | - |
207 | | - - name: phpmax-system-postgres |
208 | | - depends_on: |
209 | | - - phpmin-system-postgres |
210 | | - image: joomlaprojects/docker-images:cypress8.4 |
211 | | - volumes: |
212 | | - - name: cypress-cache |
213 | | - path: /root/.cache/Cypress |
214 | | - environment: |
215 | | - JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1 |
216 | | - commands: |
217 | | - - bash tests/System/entrypoint.sh "$(pwd)" cpostgresmax pgsql postgres |
218 | | - |
219 | | - - name: artifacts-system-tests |
220 | | - image: joomlaprojects/docker-images:packager |
221 | | - depends_on: |
222 | | - - phpmax-system-mysql |
223 | | - - phpmax-system-postgres |
224 | | - - phpmin-system-mysql |
225 | | - - phpmin-system-postgres |
226 | | - environment: |
227 | | - WEB_SERVER: |
228 | | - from_secret: webserver |
229 | | - FTP_KEY: |
230 | | - from_secret: ftp_key |
231 | | - FTP_USER: |
232 | | - from_secret: ftp_user |
233 | | - FTP_HOST: |
234 | | - from_secret: ftp_host |
235 | | - ARTIFACTS_ROOT: |
236 | | - from_secret: artifacts_root |
237 | | - GITHUB_TOKEN: |
238 | | - from_secret: github_token |
239 | | - commands: |
240 | | - - export PLUGIN_DEST_DIR=$DRONE_REPO/$DRONE_BRANCH/$DRONE_PULL_REQUEST/system-tests/$DRONE_BUILD_NUMBER |
241 | | - - echo https://$WEB_SERVER/drone/$PLUGIN_DEST_DIR |
242 | | - - mkdir -p ~/.ssh |
243 | | - - eval $(ssh-agent -s) |
244 | | - - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config |
245 | | - - echo "$FTP_KEY" > ~/.ssh/id_rsa |
246 | | - - chmod 600 ~/.ssh/id_rsa |
247 | | - - ssh-add |
248 | | - - rclone config create artifacts sftp host $FTP_HOST user $FTP_USER port 22 |
249 | | - - rclone mkdir artifacts:$ARTIFACTS_ROOT/$DRONE_REPO/$DRONE_BRANCH/$DRONE_PULL_REQUEST/system-tests/$DRONE_BUILD_NUMBER |
250 | | - - rclone copy tests/System/output/ artifacts:$ARTIFACTS_ROOT/$DRONE_REPO/$DRONE_BRANCH/$DRONE_PULL_REQUEST/system-tests/$DRONE_BUILD_NUMBER |
251 | | - - 'curl -X POST "https://api.github.com/repos/$DRONE_REPO/statuses/$DRONE_COMMIT" -H "Content-Type: application/json" -H "Authorization: token $GITHUB_TOKEN" -d "{\"state\":\"failure\", \"context\": \"Artifacts from Failure\", \"description\": \"You can find artifacts from the failure of the build here:\", \"target_url\": \"https://$WEB_SERVER/drone/$PLUGIN_DEST_DIR\"}" > /dev/null' |
252 | | - when: |
253 | | - status: |
254 | | - - failure |
255 | | - |
256 | | -volumes: |
257 | | - - name: composer-cache |
258 | | - host: |
259 | | - path: /tmp/composer-cache |
260 | | - - name: cypress-cache |
261 | | - host: |
262 | | - path: /tmp/cypress-cache |
263 | | - - name: npm-cache |
264 | | - host: |
265 | | - path: /tmp/npm-cache |
266 | | - - name: certificates |
267 | | - host: |
268 | | - path: /tmp/certificates |
269 | | - |
270 | | -services: |
271 | | - - name: mysql |
272 | | - image: mysql:8.0 |
273 | | - command: ["--default-authentication-plugin=mysql_native_password"] |
274 | | - environment: |
275 | | - MYSQL_USER: joomla_ut |
276 | | - MYSQL_PASSWORD: joomla_ut |
277 | | - MYSQL_ROOT_PASSWORD: joomla_ut |
278 | | - MYSQL_DATABASE: test_joomla |
279 | | - |
280 | | - - name: postgres |
281 | | - image: postgres:12-alpine |
282 | | - ports: |
283 | | - - 5432 |
284 | | - environment: |
285 | | - POSTGRES_USER: root |
286 | | - POSTGRES_PASSWORD: joomla_ut |
287 | | - POSTGRES_DB: test_joomla |
288 | | - |
289 | | - - name: openldap |
290 | | - image: bitnami/openldap:latest |
291 | | - ports: |
292 | | - - 1389 |
293 | | - - 1636 |
294 | | - volumes: |
295 | | - - name: certificates |
296 | | - path: /certificates |
297 | | - environment: |
298 | | - LDAP_ADMIN_USERNAME: admin |
299 | | - LDAP_ADMIN_PASSWORD: adminpassword |
300 | | - LDAP_USERS: customuser |
301 | | - LDAP_PASSWORDS: custompassword |
302 | | - LDAP_ENABLE_TLS: yes |
303 | | - LDAP_TLS_CERT_FILE: /certificates/openldap.crt |
304 | | - LDAP_TLS_KEY_FILE: /certificates/openldap.key |
305 | | - LDAP_TLS_CA_FILE: /certificates/CA.crt |
306 | | - BITNAMI_DEBUG: true |
307 | | - LDAP_CONFIG_ADMIN_ENABLED: yes |
308 | | - LDAP_CONFIG_ADMIN_USERNAME: admin |
309 | | - LDAP_CONFIG_ADMIN_PASSWORD: configpassword |
310 | | - |
311 | | ---- |
312 | 1 | kind: pipeline |
313 | 2 | name: package |
314 | 3 |
|
@@ -414,6 +103,6 @@ trigger: |
414 | 103 |
|
415 | 104 | --- |
416 | 105 | kind: signature |
417 | | -hmac: e7e97cddd98bd4db561056d6eb59c5eea2ae3fd55e20870bf800beaa773fbf6b |
| 106 | +hmac: 8c9f8d28fda74e2a6fc508602dd07e9af7d9f4a5a13af769c6a53e6bd6e91389 |
418 | 107 |
|
419 | 108 | ... |
0 commit comments