@@ -10,16 +10,29 @@ jobs:
10
10
include :
11
11
- DB : SqlServer2008
12
12
CONNECTION_STRING : " Server=localhost;initial catalog=nhibernate;User Id=sa;Password=P@ssw0rd;packet size=4096;"
13
+ DB_INIT : |
14
+ docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=P@ssw0rd" -e "MSSQL_PID=Express" -p 1433:1433 -d --name sqlexpress mcr.microsoft.com/mssql/server:2019-latest;
13
15
- DB : PostgreSQL
14
16
CONNECTION_STRING : " Host=localhost;Username=nhibernate;Password=nhibernate;Database=nhibernate;Enlist=true;"
17
+ DB_INIT : |
18
+ docker run -d -e POSTGRES_USER=nhibernate -e POSTGRES_PASSWORD=nhibernate -e POSTGRES_DB=nhibernate -p 5432:5432 postgres:13
15
19
- DB : Firebird
16
20
CONNECTION_STRING : " DataSource=localhost;Database=nhibernate;User=SYSDBA;Password=nhibernate;charset=utf8;"
21
+ DB_INIT : |
22
+ docker run --name firebird -e EnableWireCrypt=true -e FIREBIRD_USER=nhibernate -e FIREBIRD_PASSWORD=nhibernate -e ISC_PASSWORD=nhibernate -e FIREBIRD_DATABASE=nhibernate -p 3050:3050 -d jacobalberty/firebird:v3.0
17
23
- DB : Firebird4
18
24
CONNECTION_STRING : " DataSource=localhost;Database=nhibernate;User=SYSDBA;Password=nhibernate;charset=utf8;"
25
+ DB_INIT : |
26
+ docker run --name firebird -e EnableWireCrypt=true -e FIREBIRD_USER=nhibernate -e FIREBIRD_PASSWORD=nhibernate -e ISC_PASSWORD=nhibernate -e FIREBIRD_DATABASE=nhibernate -p 3050:3050 -d jacobalberty/firebird:v4.0
19
27
- DB : MySQL
20
28
CONNECTION_STRING : " Server=localhost;Uid=root;Password=nhibernate;Database=nhibernate;Old Guids=True;SslMode=none;"
29
+ DB_INIT : |
30
+ sudo service mysql stop
31
+ docker run --name mysql -e MYSQL_ROOT_PASSWORD=nhibernate -e MYSQL_USER=nhibernate -e MYSQL_PASSWORD=nhibernate -e MYSQL_DATABASE=nhibernate -p 3306:3306 --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 -d mysql:5.7 mysqld --lower_case_table_names=1 --character-set-server=utf8 --collation-server=utf8_general_ci
21
32
- DB : Oracle
22
33
CONNECTION_STRING : " User ID=nhibernate;Password=nhibernate;Metadata Pooling=false;Self Tuning=false;Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XEPDB1)))"
34
+ DB_INIT : |
35
+ docker run -d -p 1521:1521 -e APP_USER=nhibernate -e APP_USER_PASSWORD=nhibernate -e ORACLE_PASSWORD=nhibernate gvenzl/oracle-xe:21-slim
23
36
- DB : SQLite
24
37
runs-on : ubuntu-latest
25
38
continue-on-error : ${{matrix.ALLOW_FAILURE == true}}
28
41
name : ${{matrix.DB}}
29
42
30
43
steps :
31
- - name : Set up SqlServer
32
- if : matrix.DB == 'SqlServer2008'
33
- run : |
34
- docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=P@ssw0rd" -e "MSSQL_PID=Express" -p 1433:1433 -d --name sqlexpress mcr.microsoft.com/mssql/server:2019-latest;
35
-
36
- - name : Set up MySQL
37
- if : matrix.DB == 'MySQL'
38
- run : |
39
- sudo service mysql stop
40
- docker run --name mysql -e MYSQL_ROOT_PASSWORD=nhibernate -e MYSQL_USER=nhibernate -e MYSQL_PASSWORD=nhibernate -e MYSQL_DATABASE=nhibernate -p 3306:3306 --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 -d mysql:5.7 mysqld --lower_case_table_names=1 --character-set-server=utf8 --collation-server=utf8_general_ci
41
-
42
- - name : Set up PostgreSQL
43
- if : matrix.DB == 'PostgreSQL'
44
- run : |
45
- docker run -d -e POSTGRES_USER=nhibernate -e POSTGRES_PASSWORD=nhibernate -e POSTGRES_DB=nhibernate -p 5432:5432 postgres:13
46
-
47
- - name : Set up Firebird
48
- if : matrix.DB == 'Firebird'
49
- run : |
50
- docker run --name firebird -e EnableWireCrypt=true -e FIREBIRD_USER=nhibernate -e FIREBIRD_PASSWORD=nhibernate -e ISC_PASSWORD=nhibernate -e FIREBIRD_DATABASE=nhibernate -p 3050:3050 -d jacobalberty/firebird:v3.0
51
-
52
- - name : Set up Firebird4
53
- if : matrix.DB == 'Firebird4'
54
- run : |
55
- docker run --name firebird -e EnableWireCrypt=true -e FIREBIRD_USER=nhibernate -e FIREBIRD_PASSWORD=nhibernate -e ISC_PASSWORD=nhibernate -e FIREBIRD_DATABASE=nhibernate -p 3050:3050 -d jacobalberty/firebird:v4.0
56
-
57
- - name : Set up Oracle
58
- if : matrix.DB == 'Oracle'
59
- run : |
60
- docker run -d -p 1521:1521 -e APP_USER=nhibernate -e APP_USER_PASSWORD=nhibernate -e ORACLE_PASSWORD=nhibernate gvenzl/oracle-xe:21-slim
61
-
44
+ - name : Set up ${{matrix.DB}}
45
+ run : ${{matrix.DB_INIT}}
62
46
- uses : actions/checkout@v3
63
47
- name : Setup .NET
64
48
uses : actions/setup-dotnet@v3
0 commit comments