minor psr12 fix
[openemr.git] / .travis.yml
blobad14ab5a6baff6e5f479f0b90d561a201aa1df35
1 dist: bionic
2 language: php
3 .steps:
4   - &composer_github_auth |
5       githubTokenRateLimitRequest=`curl -H "Authorization: token 310659f0a8658693af9ccb9da8969584b598910a" https://api.github.com/rate_limit`
6       githubTokenRateLimit=`echo $githubTokenRateLimitRequest | jq '.rate.remaining'`
7       echo "Number of github api requests remaining is $githubTokenRateLimit"
8       if [ "$githubTokenRateLimit" -gt 500 ]; then
9         echo "Using composer github api token"
10         composer config --global --auth github-oauth.github.com 310659f0a8658693af9ccb9da8969584b598910a
11       else
12         echo "Not using composer github api token"
13       fi
14   - &lint_style |
15       failTest=false
16       echo "--------------------------------------"
17       echo "Checking for PHP styling (PSR-12) issues"
18       echo "--------------------------------------"
19       composer global require "squizlabs/php_codesniffer=3.*" || failTest=true
20       $HOME/.config/composer/vendor/bin/phpcs -p -n --extensions=php,inc --report-width=120 --standard=ci/phpcs.xml --report=full . || failTest=true
21       # todo clean up method visibility and other refactors in src/
22       # $HOME/.config/composer/vendor/bin/phpcs -p -n --extensions=php,inc --report-width=120 --standard=ci/phpcs_src.xml --report=full src/ || failTest=true
24       if $failTest; then
25         failJob=true
26         mes="FAILED"
27       else
28         mes="PASSED"
29       fi
30       echo "-----------------------------------------------"
31       jobTest="${mes} - Checking for PHP styling (PSR-12) issues"
32       jobTests+="${jobTest}\n"
33       echo "${jobTest}"
34       echo "-----------------------------------------------"
35   - &lint_theme_style |
36       failTest=false
37       echo "--------------------------------------"
38       echo "Checking for PHP theme styling issues"
39       echo "--------------------------------------"
40       npm install || failTest=true
41       npx stylelint "**/*.css" || failTest=true
42       npx stylelint "**/*.scss" || failTest=true
43       if $failTest; then
44         failJob=true
45         mes="FAILED"
46       else
47         mes="PASSED"
48       fi
49       echo "-----------------------------------------------"
50       jobTest="${mes} - Checking for PHP theme styling issues"
51       jobTests+="${jobTest}\n"
52       echo "${jobTest}"
53       echo "-----------------------------------------------"
54   - &lint_syntax |
55       failTest=false
56       echo "------------------------------"
57       echo "Checking for PHP syntax errors"
58       echo "------------------------------"
59       failSyntax=false
60       if find . -type f -name "*.php" -exec php -d error_reporting=32767 -l {} \; 2>&1 >&- | grep "^"; then failSyntax=true; fi
61       if find . -type f -name "*.inc" -exec php -d error_reporting=32767 -l {} \; 2>&1 >&- | grep "^"; then failSyntax=true; fi
62       if $failSyntax; then
63         failTest=true
64       fi
65       if $failTest; then
66         failJob=true
67         mes="FAILED"
68       else
69         mes="PASSED"
70       fi
71       echo "---------------------------------------"
72       jobTest="${mes} - Checking for PHP syntax errors"
73       jobTests+="${jobTest}\n"
74       echo "${jobTest}"
75       echo "---------------------------------------"
76   - &dockers_env_start |
77       failTest=false
78       echo "---------------------------------------------------------------------"
79       echo "Start up the appropriate testing docker system to allow testing below"
80       echo "---------------------------------------------------------------------"
81       cd ci/${DOCKER_DIR} || failTest=true
82       docker-compose up -d || failTest=true
83       cd ../../ || failTest=true
84       if $failTest; then
85         failJob=true
86         mes="FAILED"
87       else
88         mes="PASSED"
89       fi
90       echo "------------------------------------------------------------------------------"
91       jobTest="${mes} - Start up the appropriate testing docker system to allow testing below"
92       jobTests+="${jobTest}\n"
93       echo "${jobTest}"
94       echo "------------------------------------------------------------------------------"
95   - &main_build |
96       failTest=false
97       echo "------------------"
98       echo "Main OpenEMR Build"
99       echo "------------------"
100       if [ "$SKIP_COMPOSER_PLATFORM_REQS" = true ]; then
101         echo "(For PHP8 build to work, using --ignore-platform-reqs parameter for composer install; this is temporary)"
102         composer install --ignore-platform-reqs || failTest=true
103       else
104         composer install || failTest=true
105       fi
106       npm install || failTest=true
107       npm run build || failTest=true
108       composer global require phing/phing || failTest=true
109       $HOME/.config/composer/vendor/bin/phing vendor-clean || failTest=true
110       $HOME/.config/composer/vendor/bin/phing assets-clean || failTest=true
111       composer global remove phing/phing || failTest=true
112       composer dump-autoload -o || failTest=true
113       rm -fr node_modules || failTest=true
114       if $failTest; then
115         failJob=true
116         mes="FAILED"
117       else
118         mes="PASSED"
119       fi
120       echo "---------------------------"
121       jobTest="${mes} - Main OpenEMR Build"
122       jobTests+="${jobTest}\n"
123       echo "${jobTest}"
124       echo "---------------------------"
125   - &ccda_build |
126       failTest=false
127       echo "------------------"
128       echo "CCDA OpenEMR Build"
129       echo "------------------"
130       cd ccdaservice || failTest=true
131       npm install || failTest=true
132       cd ../ || failTest=true
133       if $failTest; then
134         failJob=true
135         mes="FAILED"
136       else
137         mes="PASSED"
138       fi
139       echo "---------------------------"
140       jobTest="${mes} - CCDA OpenEMR Build"
141       jobTests+="${jobTest}\n"
142       echo "${jobTest}"
143       echo "---------------------------"
144   - &install_configure |
145       failTest=false
146       echo "----------------------------------------------------------------------------------------------"
147       echo "Install and Configure OpenEMR for testing (remove registration modal on login and turn on api)"
148       echo "----------------------------------------------------------------------------------------------"
149       sudo chmod 666 sites/default/sqlconf.php || failTest=true
150       sudo chmod -R 777 sites/default/documents || failTest=true
151       sed -e 's@^exit;@ @' < contrib/util/installScripts/InstallerAuto.php > contrib/util/installScripts/InstallerAutoTemp.php || failTest=true
152       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c "php -f ${OPENEMR_DIR}/contrib/util/installScripts/InstallerAutoTemp.php rootpass=root server=mysql loginhost=%" || failTest=true
153       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c "rm -f ${OPENEMR_DIR}/contrib/util/installScripts/InstallerAutoTemp.php" || failTest=true
154       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c 'mysql -u openemr --password="openemr" -h mysql -e "INSERT INTO product_registration (opt_out) VALUES (1)" openemr' || failTest=true
155       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c 'mysql -u openemr --password="openemr" -h mysql -e "UPDATE globals SET gl_value = 1 WHERE gl_name = \"rest_api\"" openemr' || failTest=true
156       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c 'mysql -u openemr --password="openemr" -h mysql -e "UPDATE globals SET gl_value = 1 WHERE gl_name = \"rest_fhir_api\"" openemr' || failTest=true
157       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c 'mysql -u openemr --password="openemr" -h mysql -e "UPDATE globals SET gl_value = 1 WHERE gl_name = \"rest_portal_api\"" openemr' || failTest=true
158       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c 'mysql -u openemr --password="openemr" -h mysql -e "UPDATE globals SET gl_value = 1 WHERE gl_name = \"rest_portal_fhir_api\"" openemr' || failTest=true
159       if $failTest; then
160         failJob=true
161         mes="FAILED"
162       else
163         mes="PASSED"
164       fi
165       echo "-------------------------------------------------------------------------------------------------------"
166       jobTest="${mes} - Install and Configure OpenEMR for testing (remove registration modal on login and turn on api)"
167       jobTests+="${jobTest}\n"
168       echo "${jobTest}"
169       echo "-------------------------------------------------------------------------------------------------------"
170   - &build_test_unit |
171       failTest=false
172       echo "---------------"
173       echo "Run Unit Tests"
174       echo "---------------"
175       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c "cd ${OPENEMR_DIR}; php ${OPENEMR_DIR}/vendor/bin/phpunit --testsuite unit --testdox" || failTest=true
176       if $failTest; then
177         failJob=true
178         mes="FAILED"
179       else
180         mes="PASSED"
181       fi
182       echo "-----------------------"
183       jobTest="${mes} - Run Unit Tests"
184       jobTests+="${jobTest}\n"
185       echo "${jobTest}"
186       echo "-----------------------"
187   - &build_test_e2e |
188       failTest=false
189       echo "-------------"
190       echo "Run E2e Tests"
191       echo "-------------"
192       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c "${CHROMIUM_INSTALL}; export PANTHER_NO_SANDBOX=1; cd ${OPENEMR_DIR}; php ${OPENEMR_DIR}/vendor/bin/phpunit --testsuite e2e --testdox" || failTest=true
193       if $failTest; then
194         failJob=true
195         mes="FAILED"
196       else
197         mes="PASSED"
198       fi
199       echo "----------------------"
200       jobTest="${mes} - Run E2e Tests"
201       jobTests+="${jobTest}\n"
202       echo "${jobTest}"
203       echo "----------------------"
204   - &build_test_api |
205       failTest=false
206       echo "-------------"
207       echo "Run Api Tests"
208       echo "-------------"
209       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c "cd ${OPENEMR_DIR}; php ${OPENEMR_DIR}/vendor/bin/phpunit --testsuite api --testdox" || failTest=true
210       if $failTest; then
211         failJob=true
212         mes="FAILED"
213       else
214         mes="PASSED"
215       fi
216       echo "----------------------"
217       jobTest="${mes} - Run Api Tests"
218       jobTests+="${jobTest}\n"
219       echo "${jobTest}"
220       echo "----------------------"
221   - &build_test_fixtures |
222       failTest=false
223       echo "-------------"
224       echo "Run Fixture Tests"
225       echo "-------------"
226       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c "cd ${OPENEMR_DIR}; php ${OPENEMR_DIR}/vendor/bin/phpunit --testsuite fixtures --testdox" || failTest=true
227       if $failTest; then
228         failJob=true
229         mes="FAILED"
230       else
231         mes="PASSED"
232       fi
233       echo "----------------------"
234       jobTest="${mes} - Run Fixture Tests"
235       jobTests+="${jobTest}\n"
236       echo "${jobTest}"
237       echo "----------------------"
238   - &build_test_services |
239       failTest=false
240       echo "-------------"
241       echo "Run Service Tests"
242       echo "-------------"
243       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c "cd ${OPENEMR_DIR}; php ${OPENEMR_DIR}/vendor/bin/phpunit --testsuite services --testdox" || failTest=true
244       if $failTest; then
245         failJob=true
246         mes="FAILED"
247       else
248         mes="PASSED"
249       fi
250       echo "----------------------"
251       jobTest="${mes} - Run Service Tests"
252       jobTests+="${jobTest}\n"
253       echo "${jobTest}"
254       echo "----------------------"
255   - &build_test_validators |
256       failTest=false
257       echo "-------------"
258       echo "Run Validator Tests"
259       echo "-------------"
260       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c "cd ${OPENEMR_DIR}; php ${OPENEMR_DIR}/vendor/bin/phpunit --testsuite validators --testdox" || failTest=true
261       if $failTest; then
262         failJob=true
263         mes="FAILED"
264       else
265         mes="PASSED"
266       fi
267       echo "----------------------"
268       jobTest="${mes} - Run Validator Tests"
269       jobTests+="${jobTest}\n"
270       echo "${jobTest}"
271       echo "----------------------"
272   - &build_test_controllers |
273       failTest=false
274       echo "-------------"
275       echo "Run Controller Tests"
276       echo "-------------"
277       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c "cd ${OPENEMR_DIR}; php ${OPENEMR_DIR}/vendor/bin/phpunit --testsuite controllers --testdox" || failTest=true
278       if $failTest; then
279         failJob=true
280         mes="FAILED"
281       else
282         mes="PASSED"
283       fi
284       echo "----------------------"
285       jobTest="${mes} - Run Controller Tests"
286       jobTests+="${jobTest}\n"
287       echo "${jobTest}"
288       echo "----------------------"
289   - &build_test_common |
290       failTest=false
291       echo "-------------"
292       echo "Run Common Tests"
293       echo "-------------"
294       docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c "cd ${OPENEMR_DIR}; php ${OPENEMR_DIR}/vendor/bin/phpunit --testsuite common --testdox" || failTest=true
295       if $failTest; then
296         failJob=true
297         mes="FAILED"
298       else
299         mes="PASSED"
300       fi
301       echo "----------------------"
302       jobTest="${mes} - Run Common Tests"
303       jobTests+="${jobTest}\n"
304       echo "${jobTest}"
305       echo "----------------------"
306   - &job_summary_prep |
307       if $failJob; then
308         mes="FAILED"
309       else
310         mes="PASSED"
311       fi
312       jobSummary="--------------------------------------------\n"
313       jobSummary+="--------------------------------------------\n"
314       jobSummary+="${mes} - JOB SUMMARY\n"
315       jobSummary+="--------------------------------------------\n"
316       jobSummary+="${jobTests}"
317       jobSummary+="--------------------------------------------"
318 before_install:
319   - echo "extension=ldap.so" >>php --ini | grep "Loaded Configuration" | sed -e "s|.:\s||"``
320   - nvm install --lts
321 before_script:
322   - echo 'error_reporting = "E_ALL & ~E_NOTICE & ~E_STRICT"' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
323 jobs:
324   include:
325     - name: 'Psr12 style'
326       php: '7.4'
327       script:
328         - failJob=false
329         - *composer_github_auth
330         - *lint_style
331         - *job_summary_prep
332         - echo -e "${jobSummary}"
333         - if $failJob; then travis_terminate 1; fi
334     - name: 'Theme style'
335       php: '7.4'
336       script:
337         - failJob=false
338         - *lint_theme_style
339         - *job_summary_prep
340         - echo -e "${jobSummary}"
341         - if $failJob; then travis_terminate 1; fi
342     - name: 'Syntax - PHP 7.2'
343       php: '7.2'
344       script:
345         - failJob=false
346         - *lint_syntax
347         - *job_summary_prep
348         - echo -e "${jobSummary}"
349         - if $failJob; then travis_terminate 1; fi
350     - name: 'Syntax - PHP 7.3'
351       php: '7.3'
352       script:
353         - failJob=false
354         - *lint_syntax
355         - *job_summary_prep
356         - echo -e "${jobSummary}"
357         - if $failJob; then travis_terminate 1; fi
358     - name: 'Syntax - PHP 7.4'
359       php: '7.4'
360       script:
361         - failJob=false
362         - *lint_syntax
363         - *job_summary_prep
364         - echo -e "${jobSummary}"
365         - if $failJob; then travis_terminate 1; fi
366     - name: 'Syntax - PHP 8.0'
367       php: 'nightly'
368       script:
369         - failJob=false
370         - *lint_syntax
371         - *job_summary_prep
372         - echo -e "${jobSummary}"
373         - if $failJob; then travis_terminate 1; fi
374     - name: 'Build and test - PHP 7.3 - Apache - MariaDB 10.5'
375       php: '7.3'
376       env:
377         - DOCKER_DIR=apache_73_105
378         - OPENEMR_DIR=/var/www/localhost/htdocs/openemr
379         - CHROMIUM_INSTALL="apk update; apk add --no-cache chromium chromium-chromedriver; export PANTHER_CHROME_DRIVER_BINARY=/usr/lib/chromium/chromedriver"
380       script:
381         - failJob=false
382         - *dockers_env_start
383         - *composer_github_auth
384         - *main_build
385         - *ccda_build
386         - *install_configure
387         - *build_test_unit
388         - *build_test_e2e
389         - *build_test_api
390         - *build_test_fixtures
391         - *build_test_services
392         - *build_test_validators
393         - *build_test_controllers
394         - *build_test_common
395         - *job_summary_prep
396         - echo -e "${jobSummary}"
397         - if $failJob; then travis_terminate 1; fi
398     - name: 'Build and test - PHP 7.3 - Apache - MariaDB 10.4'
399       php: '7.3'
400       env:
401         - DOCKER_DIR=apache_73_104
402         - OPENEMR_DIR=/var/www/localhost/htdocs/openemr
403         - CHROMIUM_INSTALL="apk update; apk add --no-cache chromium chromium-chromedriver; export PANTHER_CHROME_DRIVER_BINARY=/usr/lib/chromium/chromedriver"
404       script:
405         - failJob=false
406         - *dockers_env_start
407         - *composer_github_auth
408         - *main_build
409         - *ccda_build
410         - *install_configure
411         - *build_test_unit
412         - *build_test_e2e
413         - *build_test_api
414         - *build_test_fixtures
415         - *build_test_services
416         - *build_test_validators
417         - *build_test_controllers
418         - *build_test_common
419         - *job_summary_prep
420         - echo -e "${jobSummary}"
421         - if $failJob; then travis_terminate 1; fi
422     - name: 'Build and test - PHP 7.3 - Apache - MariaDB 10.3'
423       php: '7.3'
424       env:
425         - DOCKER_DIR=apache_73_103
426         - OPENEMR_DIR=/var/www/localhost/htdocs/openemr
427         - CHROMIUM_INSTALL="apk update; apk add --no-cache chromium chromium-chromedriver; export PANTHER_CHROME_DRIVER_BINARY=/usr/lib/chromium/chromedriver"
428       script:
429         - failJob=false
430         - *dockers_env_start
431         - *composer_github_auth
432         - *main_build
433         - *ccda_build
434         - *install_configure
435         - *build_test_unit
436         - *build_test_e2e
437         - *build_test_api
438         - *build_test_fixtures
439         - *build_test_services
440         - *build_test_validators
441         - *build_test_controllers
442         - *build_test_common
443         - *job_summary_prep
444         - echo -e "${jobSummary}"
445         - if $failJob; then travis_terminate 1; fi
446     - name: 'Build and test - PHP 7.3 - Apache - MariaDB 10.2'
447       php: '7.3'
448       env:
449         - DOCKER_DIR=apache_73_102
450         - OPENEMR_DIR=/var/www/localhost/htdocs/openemr
451         - CHROMIUM_INSTALL="apk update; apk add --no-cache chromium chromium-chromedriver; export PANTHER_CHROME_DRIVER_BINARY=/usr/lib/chromium/chromedriver"
452       script:
453         - failJob=false
454         - *dockers_env_start
455         - *composer_github_auth
456         - *main_build
457         - *ccda_build
458         - *install_configure
459         - *build_test_unit
460         - *build_test_e2e
461         - *build_test_api
462         - *build_test_fixtures
463         - *build_test_services
464         - *build_test_validators
465         - *build_test_controllers
466         - *build_test_common
467         - *job_summary_prep
468         - echo -e "${jobSummary}"
469         - if $failJob; then travis_terminate 1; fi
470     - name: 'Build and test - PHP 7.3 - Apache - MySQL 8'
471       php: '7.3'
472       env:
473         - DOCKER_DIR=apache_73_8
474         - OPENEMR_DIR=/var/www/localhost/htdocs/openemr
475         - CHROMIUM_INSTALL="apk update; apk add --no-cache chromium chromium-chromedriver; export PANTHER_CHROME_DRIVER_BINARY=/usr/lib/chromium/chromedriver"
476       script:
477         - failJob=false
478         - *dockers_env_start
479         - *composer_github_auth
480         - *main_build
481         - *ccda_build
482         - *install_configure
483         - *build_test_unit
484         - *build_test_e2e
485         - *build_test_api
486         - *build_test_fixtures
487         - *build_test_services
488         - *build_test_validators
489         - *build_test_controllers
490         - *build_test_common
491         - *job_summary_prep
492         - echo -e "${jobSummary}"
493         - if $failJob; then travis_terminate 1; fi
494     - name: 'Build and test - PHP 7.3 - Apache - MySQL 5.7'
495       php: '7.3'
496       env:
497         - DOCKER_DIR=apache_73_57
498         - OPENEMR_DIR=/var/www/localhost/htdocs/openemr
499         - CHROMIUM_INSTALL="apk update; apk add --no-cache chromium chromium-chromedriver; export PANTHER_CHROME_DRIVER_BINARY=/usr/lib/chromium/chromedriver"
500       script:
501         - failJob=false
502         - *dockers_env_start
503         - *composer_github_auth
504         - *main_build
505         - *ccda_build
506         - *install_configure
507         - *build_test_unit
508         - *build_test_e2e
509         - *build_test_api
510         - *build_test_fixtures
511         - *build_test_services
512         - *build_test_validators
513         - *build_test_controllers
514         - *build_test_common
515         - *job_summary_prep
516         - echo -e "${jobSummary}"
517         - if $failJob; then travis_terminate 1; fi
518     - name: 'Build and test - PHP 7.2 - Nginx - MariaDB 10.5'
519       php: '7.2'
520       env:
521         - DOCKER_DIR=nginx_72
522         - OPENEMR_DIR=/usr/share/nginx/html/openemr
523         - CHROMIUM_INSTALL="apt-get update; apt-get install -y zip libnss3 chromium=80.0.3987.162-1~deb10u1 chromium-common=80.0.3987.162-1~deb10u1"
524       script:
525         - failJob=false
526         - *dockers_env_start
527         - *composer_github_auth
528         - *main_build
529         - *ccda_build
530         - *install_configure
531         - *build_test_unit
532         - *build_test_e2e
533         - *build_test_fixtures
534         - *build_test_services
535         - *build_test_validators
536         - *build_test_controllers
537         - *build_test_common
538         - *job_summary_prep
539         - echo -e "${jobSummary}"
540         - if $failJob; then travis_terminate 1; fi
541     - name: 'Build and test - PHP 7.3 - Nginx - MariaDB 10.5'
542       php: '7.3'
543       env:
544         - DOCKER_DIR=nginx_73
545         - OPENEMR_DIR=/usr/share/nginx/html/openemr
546         - CHROMIUM_INSTALL="apt-get update; apt-get install -y zip libnss3 chromium=80.0.3987.162-1~deb10u1 chromium-common=80.0.3987.162-1~deb10u1"
547       script:
548         - failJob=false
549         - *dockers_env_start
550         - *composer_github_auth
551         - *main_build
552         - *ccda_build
553         - *install_configure
554         - *build_test_unit
555         - *build_test_e2e
556         - *build_test_fixtures
557         - *build_test_services
558         - *build_test_validators
559         - *build_test_controllers
560         - *build_test_common
561         - *job_summary_prep
562         - echo -e "${jobSummary}"
563         - if $failJob; then travis_terminate 1; fi
564     - name: 'Build and test - PHP 7.4 - Nginx - MariaDB 10.5'
565       php: '7.4'
566       env:
567         - DOCKER_DIR=nginx_74
568         - OPENEMR_DIR=/usr/share/nginx/html/openemr
569         - CHROMIUM_INSTALL="apt-get update; apt-get install -y zip libnss3 chromium=80.0.3987.162-1~deb10u1 chromium-common=80.0.3987.162-1~deb10u1"
570       script:
571         - failJob=false
572         - *dockers_env_start
573         - *composer_github_auth
574         - *main_build
575         - *ccda_build
576         - *install_configure
577         - *build_test_unit
578         - *build_test_e2e
579         - *build_test_fixtures
580         - *build_test_services
581         - *build_test_validators
582         - *build_test_controllers
583         - *build_test_common
584         - *job_summary_prep
585         - echo -e "${jobSummary}"
586         - if $failJob; then travis_terminate 1; fi
587     - name: 'Build and test - PHP 8.0 - Nginx - MariaDB 10.5'
588       php: 'nightly'
589       env:
590         - DOCKER_DIR=nginx_80
591         - OPENEMR_DIR=/usr/share/nginx/html/openemr
592         - CHROMIUM_INSTALL="apt-get update; apt-get install -y zip libnss3 chromium=80.0.3987.162-1~deb10u1 chromium-common=80.0.3987.162-1~deb10u1"
593         - SKIP_COMPOSER_PLATFORM_REQS=true
594       script:
595         - failJob=false
596         - *dockers_env_start
597         - *composer_github_auth
598         - *main_build
599         - *ccda_build
600         - *install_configure
601         - *build_test_unit
602         - *build_test_e2e
603         - *build_test_fixtures
604         - *build_test_services
605         - *build_test_validators
606         - *build_test_controllers
607         - *build_test_common
608         - *job_summary_prep
609         - echo -e "${jobSummary}"
610         - if $failJob; then travis_terminate 1; fi
611   allow_failures:
612     - name: 'Build and test - PHP 8.0 - Nginx - MariaDB 10.5'