@@ -2,13 +2,13 @@ services:
22 - docker
33
44language : python
5- python :
6- - " 2.7 "
5+ python : 2.7
6+ dist : bionic
77
8- env :
9- matrix :
10- - DB=mysql:latest
11- - DB=mariadb:latest
8+ stages :
9+ - name : " Build images "
10+ - name : " Test docker-compose "
11+ - name : " Run tests in testing container "
1212
1313before_install :
1414 - export TESTSUITE_PASSWORD=`openssl rand -base64 30`
@@ -17,27 +17,74 @@ before_install:
1717install :
1818 - pip install mechanize html5lib
1919
20- script :
21- # Run tests in testing container
22- - docker-compose -f docker-compose.testing.yml up -d db_server
23- - docker-compose -f docker-compose.testing.yml up -d
24- - docker-compose exec phpmyadmin /test-docker.sh phpmyadmin_testing 80 phpmyadmin_testing_db
25- - docker-compose stop
26- # Test docker-compose
27- - docker-compose -f docker-compose.yml -f docker-compose.db.yml up -d
28- - ./testing/test-docker.sh phpmyadmin 8080 db_server
29- - docker-compose stop
30- # Build image
31- - docker build -t phpmyadmin/phpmyadmin apache
32- # Test for single database
33- - docker run --name testadmin -d --link db_server:db -p 9090:80 phpmyadmin/phpmyadmin
34- - ./testing/test-docker.sh testadmin 9090
35- # Test for single database using env
36- - docker run --name envadmin -d --link db_server:db2 -e PMA_HOST=db2 -p 6060:80 phpmyadmin/phpmyadmin
37- - ./testing/test-docker.sh envadmin 6060
38- # Test for arbitrary database
39- - docker run --name arbitraryadmin -d --link db_server:db3 -e PMA_ARBITRARY=1 -p 7070:80 phpmyadmin/phpmyadmin
40- - ./testing/test-docker.sh arbitraryadmin 7070 db3
41- # Test for arbitrary database with user config
42- - docker run --name userconfigadmin -d --link db_server:db3 -v `readlink -f ./testing/config.test.inc.php`:/etc/phpmyadmin/config.user.inc.php -p 7080:80 phpmyadmin/phpmyadmin
43- - ./testing/test-docker.sh userconfigadmin 7080 db3
20+ _helpers :
21+ - &test-docker-compose
22+ stage : " Test docker-compose"
23+ script :
24+ - docker-compose -f docker-compose.testing.yml up -d db_server
25+ - docker-compose -f docker-compose.testing.yml up -d
26+ - docker-compose exec phpmyadmin /test-docker.sh phpmyadmin_testing 80 phpmyadmin_testing_db
27+ - docker-compose stop
28+ - &test-apache-image
29+ stage : " Run tests in testing container"
30+ script :
31+ # Build image
32+ - docker build -t phpmyadmin/phpmyadmin apache
33+ # Test for single database
34+ - docker run --name testadmin -d --link db_server:db -p 9090:80 phpmyadmin/phpmyadmin
35+ - ./testing/test-docker.sh testadmin 9090
36+ # Test for single database using env
37+ - docker run --name envadmin -d --link db_server:db2 -e PMA_HOST=db2 -p 6060:80 phpmyadmin/phpmyadmin
38+ - ./testing/test-docker.sh envadmin 6060
39+ # Test for arbitrary database
40+ - docker run --name arbitraryadmin -d --link db_server:db3 -e PMA_ARBITRARY=1 -p 7070:80 phpmyadmin/phpmyadmin
41+ - ./testing/test-docker.sh arbitraryadmin 7070 db3
42+ # Test for arbitrary database with user config
43+ - docker run --name userconfigadmin -d --link db_server:db3 -v `readlink -f ./testing/config.test.inc.php`:/etc/phpmyadmin/config.user.inc.php -p 7080:80 phpmyadmin/phpmyadmin
44+ - ./testing/test-docker.sh userconfigadmin 7080 db3
45+ - &test-docker-compose-db
46+ stage : " Test docker-compose"
47+ script :
48+ - docker-compose -f docker-compose.yml -f docker-compose.db.yml up -d
49+ - ./testing/test-docker.sh phpmyadmin 8080 db_server
50+ - docker-compose stop
51+ - &build-image
52+ stage : " Build images"
53+ before_install : skip
54+ install : skip
55+
56+ jobs :
57+ include :
58+ - << : *test-docker-compose
59+ name : " Run and stop container using testing docker-compose file for MariaDB"
60+ env : DB=mariadb:latest
61+ - << : *test-docker-compose
62+ name : " Run and stop container using testing docker-compose file for MySQL"
63+ env : DB=mysql:latest
64+ - << : *test-docker-compose-db
65+ name : " Run and stop container using db docker-compose file for MariaDB"
66+ env : DB=mariadb:latest
67+ - << : *test-docker-compose-db
68+ name : " Run and stop container using db docker-compose file for MySQL"
69+ env : DB=mysql:latest
70+ - << : *build-image
71+ name : " Apache amd64"
72+ arch : amd64
73+ script :
74+ - docker build -t phpmyadmin/phpmyadmin apache
75+ - << : *build-image
76+ name : " fpm amd64"
77+ arch : amd64
78+ script :
79+ - docker build -t phpmyadmin/phpmyadmin fpm
80+ - << : *build-image
81+ name : " fpm-alpine amd64"
82+ arch : amd64
83+ script :
84+ - docker build -t phpmyadmin/phpmyadmin fpm-alpine
85+ - << : *test-apache-image
86+ name : " Run testing for MariaDB"
87+ env : DB=mariadb:latest
88+ - << : *test-apache-image
89+ name : " Run testing for MySQL"
90+ env : DB=mysql:latest
0 commit comments