Skip to content

Commit 9d1872d

Browse files
committed
Improve TravisCI file with steps
Signed-off-by: William Desportes <williamdes@wdes.fr>
1 parent 5f2beb0 commit 9d1872d

File tree

1 file changed

+77
-30
lines changed

1 file changed

+77
-30
lines changed

.travis.yml

Lines changed: 77 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ services:
22
- docker
33

44
language: 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

1313
before_install:
1414
- export TESTSUITE_PASSWORD=`openssl rand -base64 30`
@@ -17,27 +17,74 @@ before_install:
1717
install:
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

Comments
 (0)