@@ -27,16 +27,20 @@ jobs:
2727 # https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#example-adding-configurations
2828 include :
2929 # "docker-service-name" must match "services.$name" from docker-compose.yaml
30+ # "database-service-name" must match "services.$name" from docker-compose.yaml
3031 # "application-port" must match "services.$name.environment:PORT" from docker-compose.yaml
3132 - docker-service-name : ' express-js'
33+ database-service-name : ' mysql'
3234 application-port : 3010
3335 - docker-service-name : ' express-ts'
36+ database-service-name : ' mysql'
3437 application-port : 3020
3538 - docker-service-name : ' chi'
39+ database-service-name : ' mysql'
3640 application-port : 3030
3741 env :
3842 # 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.
4044 # https://docs.docker.com/compose/project-name/
4145 # https://docs.docker.com/compose/environment-variables/envvars/#compose_project_name
4246 COMPOSE_PROJECT_NAME : ${{ matrix.docker-service-name }}
7478 --detach \
7579 --wait \
7680 --quiet-pull \
77- --no-deps \
7881 ${{ matrix.docker-service-name }}
7982
8083 - name : Show container statuses
@@ -100,6 +103,15 @@ jobs:
100103 --timestamps \
101104 ${{ matrix.docker-service-name }} | tee ../tests-reports/application-logs.txt
102105
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+
103115 - name : Save report
104116 if : failure()
105117 uses :
actions/[email protected] # https://github.com/actions/upload-artifact
0 commit comments