|
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