Skip to content

Commit c40efc1

Browse files
committed
Add testing DB2 to GitHub Actions
1 parent e0384a3 commit c40efc1

File tree

4 files changed

+24
-0
lines changed

4 files changed

+24
-0
lines changed

.github/workflows/NetCoreTests.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ jobs:
1919
- DB: Oracle
2020
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)))"
2121
- DB: SQLite
22+
- DB: DB2
23+
CONNECTION_STRING: "Server=localhost:50000;Database=nhib;UID=nhib;PWD=nhib;"
2224
runs-on: ubuntu-latest
2325
continue-on-error: ${{matrix.ALLOW_FAILURE == true}}
2426
env:
@@ -52,6 +54,12 @@ jobs:
5254
run: |
5355
docker run -d -p 1521:1521 -e APP_USER=nhibernate -e APP_USER_PASSWORD=nhibernate -e ORACLE_PASSWORD=nhibernate gvenzl/oracle-xe:18-slim
5456
57+
- name: Set up DB2
58+
if: matrix.DB == 'DB2'
59+
run: |
60+
docker run --name DB2 --privileged=true -e DB2INSTANCE=nhib -e DB2INST1_PASSWORD=nhib -e DBNAME=nhib -e LICENSE=accept -e AUTOCONFIG=false -e ARCHIVE_LOGS=false -p 50000:50000 -d ibmcom/db2:11.5.7.0
61+
docker logs -f DB2 | sed '/(*) Setup has completed./ q'
62+
5563
- uses: actions/checkout@v2
5664
- name: Setup .NET
5765
uses: actions/[email protected]
@@ -60,4 +68,9 @@ jobs:
6068

6169
- name: Build and Test
6270
run: |
71+
export DB2_CLI_DRIVER_INSTALL_PATH=/home/runner/work/nhibernate-core/nhibernate-core/src/NHibernate.Test/bin/Release/netcoreapp2.0/clidriver
72+
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/runner/work/nhibernate-core/nhibernate-core/src/NHibernate.Test/bin/Release/netcoreapp2.0/clidriver/lib
73+
export LIBPATH=$LIBPATH:/home/runner/work/nhibernate-core/nhibernate-core/src/NHibernate.Test/bin/Release/netcoreapp2.0/clidriver/lib
74+
export PATH=/home/runner/work/nhibernate-core/nhibernate-core/src/NHibernate.Test/bin/Release/netcoreapp2.0/clidriver/bin:$PATH
75+
export PATH=/home/runner/work/nhibernate-core/nhibernate-core/src/NHibernate.Test/bin/Release/netcoreapp2.0/clidriver/adm:$PATH
6376
pwsh -noprofile -command "& ./build.ps1 -TaskList Set-Configuration,Test -properties @{'Database' = '${{matrix.DB}}';'ConnectionString'='${{matrix.CONNECTION_STRING}}'}"

psake.ps1

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ Task Set-Configuration {
6767
'connection.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)))';
6868
'connection.driver_class' = 'NHibernate.Driver.OracleManagedDataClientDriver';
6969
'dialect' = 'NHibernate.Dialect.Oracle10gDialect'
70+
};
71+
'DB2' = @{
72+
'connection.connection_string' = '';
73+
'dialect' = 'NHibernate.Dialect.DB2Dialect';
74+
'connection.driver_class' = 'NHibernate.Driver.DB2CoreDriver'
7075
}
7176
}
7277
#Settings for current build

src/NHibernate.Test/NHibernate.Test.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
<PackageReference Include="System.Data.SqlClient" Version="4.8.2" />
8282
<PackageReference Include="System.Data.OracleClient" Version="1.0.8" />
8383
<PackageReference Include="Oracle.ManagedDataAccess.Core" Version="2.19.120" />
84+
<PackageReference Include="IBM.Data.DB2.Core-lnx" Version="2.2.0.100" />
8485
<PackageReference Include="System.Data.Odbc" Version="4.7.0" />
8586
<PackageReference Include="System.Net.NameResolution" Version="4.3.0" />
8687
<PackageReference Include="NUnitLite" Version="3.13.2" />

src/NHibernate.TestDatabaseSetup/TestDatabaseSetup.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public class DatabaseSetup
3131
{"NHibernate.Driver.OracleManagedDataClientDriver", SetupOracle},
3232
{"NHibernate.Driver.OdbcDriver", SetupSqlServerOdbc},
3333
{"NHibernate.Driver.SQLite20Driver", SetupSQLite},
34+
{"NHibernate.Driver.DB2CoreDriver", SetupDB2},
3435
#if NETFX
3536
{"NHibernate.Driver.SqlServerCeDriver", SetupSqlServerCe},
3637
{"NHibernate.Driver.SapSQLAnywhere17Driver", SetupSqlAnywhere}
@@ -210,6 +211,10 @@ private static void SetupSQLite(Cfg.Configuration cfg)
210211
}
211212
}
212213

214+
private static void SetupDB2(Cfg.Configuration cfg)
215+
{
216+
}
217+
213218
private static void SetupOracle(Cfg.Configuration cfg)
214219
{
215220
// disabled until system password is set on TeamCity

0 commit comments

Comments
 (0)