@@ -10,14 +10,25 @@ 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 : MySQL
18
24
CONNECTION_STRING : " Server=localhost;Uid=root;Password=nhibernate;Database=nhibernate;Old Guids=True;SslMode=none;"
25
+ DB_INIT : |
26
+ sudo service mysql stop
27
+ 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
19
28
- DB : Oracle
20
29
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)))"
30
+ DB_INIT : |
31
+ docker run -d -p 1521:1521 -e APP_USER=nhibernate -e APP_USER_PASSWORD=nhibernate -e ORACLE_PASSWORD=nhibernate gvenzl/oracle-xe:21-slim
21
32
- DB : SQLite
22
33
runs-on : ubuntu-latest
23
34
continue-on-error : ${{matrix.ALLOW_FAILURE == true}}
26
37
name : ${{matrix.DB}}
27
38
28
39
steps :
29
- - name : Set up SqlServer
30
- if : matrix.DB == 'SqlServer2008'
31
- run : |
32
- 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;
33
-
34
- - name : Set up MySQL
35
- if : matrix.DB == 'MySQL'
36
- run : |
37
- sudo service mysql stop
38
- 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
39
-
40
- - name : Set up PostgreSQL
41
- if : matrix.DB == 'PostgreSQL'
42
- run : |
43
- docker run -d -e POSTGRES_USER=nhibernate -e POSTGRES_PASSWORD=nhibernate -e POSTGRES_DB=nhibernate -p 5432:5432 postgres:13
44
-
45
- - name : Set up Firebird
46
- if : matrix.DB == 'Firebird'
47
- run : |
48
- 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
49
-
50
- - name : Set up Oracle
51
- if : matrix.DB == 'Oracle'
52
- run : |
53
- docker run -d -p 1521:1521 -e APP_USER=nhibernate -e APP_USER_PASSWORD=nhibernate -e ORACLE_PASSWORD=nhibernate gvenzl/oracle-xe:21-slim
54
-
40
+ - name : Set up ${{matrix.DB}}
41
+ run : ${{matrix.DB_INIT}}
55
42
- uses : actions/checkout@v3
56
43
- name : Setup .NET
57
44
uses : actions/setup-dotnet@v3
0 commit comments