@@ -10,14 +10,25 @@ jobs:
1010 include :
1111 - DB : SqlServer2008
1212 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;
1315 - DB : PostgreSQL
1416 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
1519 - DB : Firebird
1620 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
1723 - DB : MySQL
1824 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
1928 - DB : Oracle
2029 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
2132 - DB : SQLite
2233 runs-on : ubuntu-latest
2334 continue-on-error : ${{matrix.ALLOW_FAILURE == true}}
2637 name : ${{matrix.DB}}
2738
2839 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}}
5542 - uses : actions/checkout@v3
5643 - name : Setup .NET
5744 uses : actions/setup-dotnet@v3
0 commit comments