9
9
push :
10
10
branches :
11
11
- ' main'
12
+ - ' feature/*'
12
13
13
14
jobs :
14
15
build :
@@ -24,16 +25,35 @@ jobs:
24
25
MARIADB_DATABASE : test_db
25
26
MARIADB_USER : test_user
26
27
MARIADB_PASSWORD : password
27
- MARIADB_ALLOW_EMPTY_ROOT_PASSWORD : ' yes'
28
+ MARIADB_ALLOW_EMPTY_ROOT_PASSWORD : ' yes'
28
29
MARIADB_PORT : 33062
29
30
MARIADB_MYSQL_LOCALHOST_USER : true
30
31
POSTGRES_HOST : 127.0.0.1
31
32
POSTGRES_DB : test_db
32
33
POSTGRES_USER : test_user
33
34
POSTGRES_PASSWORD : password
34
35
POSTGRES_PORT : 5432
36
+ MSSQL_HOST : 127.0.0.1
37
+ MSSQL_DATABASE : test_db
38
+ MSSQL_USER : sa
39
+ MSSQL_PASSWORD : yourStrong(!)Password
40
+ MSSQL_PORT : 1433
35
41
services :
36
42
# Label used to access the service container
43
+ mssql :
44
+ image : mcr.microsoft.com/mssql/server:2019-latest
45
+ env :
46
+ MSSQL_SA_PASSWORD : ${{env.MSSQL_PASSWORD}}
47
+ ACCEPT_EULA : Y
48
+ ports :
49
+ - 1433:1433
50
+ # todo: dont hardcode password
51
+ # options: >-
52
+ # --health-cmd "/opt/mssql-tools/bin/sqlcmd -U sa -P yourStrong(!)Password -Q 'SELECT 1' -b -o /dev/null"
53
+ # --health-interval 60s
54
+ # --health-timeout 30s
55
+ # --health-start-period 20s
56
+ # --health-retries 3
37
57
mysql :
38
58
image : mysql
39
59
env :
@@ -48,11 +68,11 @@ jobs:
48
68
mariadb :
49
69
image : mariadb
50
70
env :
51
- MARIADB_ALLOW_EMPTY_ROOT_PASSWORD : ${{env.MARIADB_ALLOW_EMPTY_ROOT_PASSWORD}}
71
+ MARIADB_ALLOW_EMPTY_ROOT_PASSWORD : ${{env.MARIADB_ALLOW_EMPTY_ROOT_PASSWORD}}
52
72
MARIADB_USER : ${{env.MARIADB_USER}}
53
73
MARIADB_PASSWORD : ${{env.MARIADB_PASSWORD}}
54
74
MARIADB_DATABASE : ${{env.MARIADB_DATABASE}}
55
- MARIADB_MYSQL_LOCALHOST_USER : ${{env.MARIADB_MYSQL_LOCALHOST_USER}}
75
+ MARIADB_MYSQL_LOCALHOST_USER : ${{env.MARIADB_MYSQL_LOCALHOST_USER}}
56
76
ports :
57
77
- 33062:3306
58
78
options : --health-cmd="healthcheck.sh --su-mysql --connect --innodb_initialized" --health-interval=10s --health-timeout=5s --health-retries=3
@@ -110,7 +130,7 @@ jobs:
110
130
- name : Test Databases
111
131
if : steps.changes.outputs.src == 'true' || steps.changes.outputs.docker == 'true' || github.event.inputs.version == 'all' || github.event.inputs.version == matrix.version
112
132
run : |
113
- docker run --network host -v /"$(pwd)/tests":/app -w /app -e MYSQL_HOST=$MYSQL_HOST -e MYSQL_DATABASE=$MYSQL_DATABASE -e MYSQL_USER=$MYSQL_USER -e MYSQL_PORT=$MYSQL_PORT -e MYSQL_PASSWORD=$MYSQL_PASSWORD -e MARIADB_HOST=$MARIADB_HOST -e MARIADB_DATABASE=$MARIADB_DATABASE -e MARIADB_USER=$MARIADB_USER -e MARIADB_PORT=$MARIADB_PORT -e MARIADB_PASSWORD=$MARIADB_PASSWORD -e POSTGRES_HOST=$POSTGRES_HOST -e POSTGRES_DB=$POSTGRES_DB -e POSTGRES_USER=$POSTGRES_USER -e POSTGRES_PORT=$POSTGRES_PORT -e POSTGRES_PASSWORD=$POSTGRES_PASSWORD orbisk/django-test:${{env.PYTHON_VERSION}} sh -c "cd /app && pip install -r requirements.txt && python manage.py test"
133
+ docker run --network host -v /"$(pwd)/tests":/app -w /app -e MYSQL_HOST=$MYSQL_HOST -e MYSQL_DATABASE=$MYSQL_DATABASE -e MYSQL_USER=$MYSQL_USER -e MYSQL_PORT=$MYSQL_PORT -e MYSQL_PASSWORD=$MYSQL_PASSWORD -e MARIADB_HOST=$MARIADB_HOST -e MARIADB_DATABASE=$MARIADB_DATABASE -e MARIADB_USER=$MARIADB_USER -e MARIADB_PORT=$MARIADB_PORT -e MARIADB_PASSWORD=$MARIADB_PASSWORD -e POSTGRES_HOST=$POSTGRES_HOST -e POSTGRES_DB=$POSTGRES_DB -e POSTGRES_USER=$POSTGRES_USER -e POSTGRES_PORT=$POSTGRES_PORT -e POSTGRES_PASSWORD=$POSTGRES_PASSWORD -e MSSQL_HOST -e MSSQL_PORT -e MSSQL_DATABASE -e MSSQL_USER -e MSSQL_PASSWORD orbisk/django-test:${{env.PYTHON_VERSION}} sh -c "cd /app && pip install -r requirements.txt && python manage.py test"
114
134
- name : Push Image
115
- if : steps.changes.outputs.src == 'true' || steps.changes.outputs.docker == 'true' || github.event.inputs.version == 'all' || github.event.inputs.version == matrix.version
135
+ if : ( steps.changes.outputs.src == 'true' || steps.changes.outputs.docker == 'true' || github.event.inputs.version == 'all' || github.event.inputs.version == matrix.version) && github.ref == 'refs/heads/main'
116
136
run : docker push -a orbisk/django-test
0 commit comments