@@ -27,16 +27,20 @@ jobs:
27
27
# https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#example-adding-configurations
28
28
include :
29
29
# "docker-service-name" must match "services.$name" from docker-compose.yaml
30
+ # "database-service-name" must match "services.$name" from docker-compose.yaml
30
31
# "application-port" must match "services.$name.environment:PORT" from docker-compose.yaml
31
32
- docker-service-name : ' express-js'
33
+ database-service-name : ' mysql'
32
34
application-port : 3010
33
35
- docker-service-name : ' express-ts'
36
+ database-service-name : ' mysql'
34
37
application-port : 3020
35
38
- docker-service-name : ' chi'
39
+ database-service-name : ' mysql'
36
40
application-port : 3030
37
41
env :
38
42
# Prevent interference between builds by setting the project name to a unique value. Otherwise
39
- # "docker compose down" has been stopping containers from other builds.
43
+ # "docker compose down" has been stopping containers (especially database) from other builds.
40
44
# https://docs.docker.com/compose/project-name/
41
45
# https://docs.docker.com/compose/environment-variables/envvars/#compose_project_name
42
46
COMPOSE_PROJECT_NAME : ${{ matrix.docker-service-name }}
74
78
--detach \
75
79
--wait \
76
80
--quiet-pull \
77
- --no-deps \
78
81
${{ matrix.docker-service-name }}
79
82
80
83
- name : Show container statuses
@@ -100,6 +103,15 @@ jobs:
100
103
--timestamps \
101
104
${{ matrix.docker-service-name }} | tee ../tests-reports/application-logs.txt
102
105
106
+ - name : Save database logs
107
+ if : failure()
108
+ working-directory : docker
109
+ run : >-
110
+ docker compose logs \
111
+ --no-log-prefix \
112
+ --timestamps \
113
+ ${{ matrix.database-service-name }} | tee ../tests-reports/database-logs.txt
114
+
103
115
- name : Save report
104
116
if : failure()
105
117
uses :
actions/[email protected] # https://github.com/actions/upload-artifact
0 commit comments