|
7 | 7 | strategy:
|
8 | 8 | fail-fast: false
|
9 | 9 | matrix:
|
| 10 | + DB: [SQLite] |
| 11 | + OS: [ubuntu-latest, windows-latest, macos-13] |
10 | 12 | include:
|
11 | 13 | - DB: SqlServer2008
|
12 | 14 | CONNECTION_STRING: "Server=localhost;initial catalog=nhibernate;User Id=sa;Password=P@ssw0rd;packet size=4096;"
|
| 15 | + OS: ubuntu-latest |
13 | 16 | DB_INIT: |
|
14 | 17 | 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;
|
15 | 18 | - DB: SqlServer2008-MicrosoftDataSqlClientDriver
|
16 | 19 | CONNECTION_STRING: "Server=localhost;initial catalog=nhibernate;User Id=sa;Password=P@ssw0rd;packet size=4096;"
|
| 20 | + OS: ubuntu-latest |
17 | 21 | DB_INIT: |
|
18 | 22 | 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;
|
19 | 23 | - DB: PostgreSQL
|
20 | 24 | CONNECTION_STRING: "Host=localhost;Username=nhibernate;Password=nhibernate;Database=nhibernate;Enlist=true;"
|
| 25 | + OS: ubuntu-latest |
21 | 26 | DB_INIT: |
|
22 |
| - docker run -d -e POSTGRES_USER=nhibernate -e POSTGRES_PASSWORD=nhibernate -e POSTGRES_DB=nhibernate -p 5432:5432 postgres:13 |
| 27 | + docker run -d -e POSTGRES_USER=nhibernate -e POSTGRES_PASSWORD=nhibernate -e POSTGRES_DB=nhibernate -p 5432:5432 postgres:13 |
| 28 | + - DB: PostgreSQL |
| 29 | + CONNECTION_STRING: "Host=localhost;Username=postgres;Password=nhibernate;Database=nhibernate;Enlist=true;" |
| 30 | + OS: windows-latest |
| 31 | + DB_INIT: | |
| 32 | + choco install postgresql13 --no-progress --params '/Password:nhibernate' |
| 33 | + Add-Content -Path 'C:\Program Files\PostgreSQL\13\data\postgresql.conf' -Value "`r`nmax_prepared_transactions = 100" |
| 34 | + Start-Service 'postgresql-x64-13' |
23 | 35 | - DB: Firebird
|
24 | 36 | CONNECTION_STRING: "DataSource=localhost;Database=nhibernate;User=SYSDBA;Password=nhibernate;charset=utf8;"
|
| 37 | + OS: ubuntu-latest |
25 | 38 | DB_INIT: |
|
26 | 39 | 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
|
27 | 40 | - DB: Firebird4
|
28 | 41 | CONNECTION_STRING: "DataSource=localhost;Database=nhibernate;User=SYSDBA;Password=nhibernate;charset=utf8;"
|
| 42 | + OS: ubuntu-latest |
29 | 43 | DB_INIT: |
|
30 | 44 | 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
|
31 | 45 | - DB: MySQL
|
32 | 46 | CONNECTION_STRING: "Server=localhost;Uid=root;Password=nhibernate;Database=nhibernate;Old Guids=True;SslMode=none;"
|
| 47 | + OS: ubuntu-latest |
33 | 48 | DB_INIT: |
|
34 | 49 | sudo service mysql stop
|
35 | 50 | 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
|
36 | 51 | - DB: Oracle
|
37 | 52 | 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)))"
|
| 53 | + OS: ubuntu-latest |
38 | 54 | DB_INIT: |
|
39 | 55 | docker run -d -p 1521:1521 -e APP_USER=nhibernate -e APP_USER_PASSWORD=nhibernate -e ORACLE_PASSWORD=nhibernate gvenzl/oracle-xe:21-slim
|
40 |
| - - DB: SQLite |
41 |
| - runs-on: ubuntu-latest |
| 56 | + runs-on: ${{matrix.OS}} |
42 | 57 | continue-on-error: ${{matrix.ALLOW_FAILURE == true}}
|
43 | 58 | env:
|
44 | 59 | LANG: en-US.UTF-8 #default POSIX locale doesn't support ignore case comparisons
|
45 |
| - name: ${{matrix.DB}} |
| 60 | + name: ${{matrix.DB}} - ${{matrix.OS}} |
46 | 61 |
|
47 | 62 | steps:
|
48 | 63 | - name: Set up ${{matrix.DB}}
|
49 | 64 | run: ${{matrix.DB_INIT}}
|
50 |
| - - uses: actions/checkout@v3 |
51 |
| - - name: Setup .NET |
52 |
| - uses: actions/setup-dotnet@v3 |
| 65 | + |
| 66 | + - name: Set up .NET |
| 67 | + uses: actions/setup-dotnet@v4 |
| 68 | + with: |
| 69 | + dotnet-version: 8.0.x |
| 70 | + |
| 71 | + - name: Checkout |
| 72 | + uses: actions/checkout@v4 |
53 | 73 | with:
|
54 |
| - dotnet-version: 6.0.x |
| 74 | + show-progress: false |
55 | 75 |
|
56 | 76 | - name: Build and Test
|
57 | 77 | run: |
|
|
0 commit comments