Skip to content

Commit 0690ee8

Browse files
authored
Create dotnet.yml
1 parent 23959d8 commit 0690ee8

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

.github/workflows/dotnet.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: .NET
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
db:
7+
strategy:
8+
fail-fast: false
9+
matrix:
10+
include:
11+
- DB: SqlServer2008
12+
CONNECTION_STRING: "Server=localhost;initial catalog=nhibernate;User Id=sa;Password=P@ssw0rd;packet size=4096;"
13+
- DB: PostgreSQL
14+
CONNECTION_STRING: "Host=localhost;Username=nhibernate;Password=nhibernate;Database=nhibernate;Enlist=true;"
15+
- DB: Firebird
16+
CONNECTION_STRING: "DataSource=localhost;Database=nhibernate;User=SYSDBA;Password=nhibernate;charset=utf8;"
17+
- DB: MySQL
18+
CONNECTION_STRING: "Server=localhost;Uid=root;Password=nhibernate;Database=nhibernate;Old Guids=True;"
19+
- DB: Oracle
20+
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)))"
21+
- DB: SQLite
22+
runs-on: ubuntu-latest
23+
continue-on-error: ${{matrix.ALLOW_FAILURE == true}}
24+
env:
25+
LANG: en-US.UTF-8 #default POSIX locale doesn't support ignore case comparisons
26+
name: ${{matrix.DB}}
27+
28+
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+
- name: Set up MySQL
34+
if: matrix.DB == 'MySQL'
35+
run: |
36+
sudo service mysql stop
37+
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
38+
- name: Set up PostgreSQL
39+
if: matrix.DB == 'PostgreSQL'
40+
run: |
41+
docker run -d -e POSTGRES_USER=nhibernate -e POSTGRES_PASSWORD=nhibernate -e POSTGRES_DB=nhibernate -p 5432:5432 postgres:13
42+
- name: Set up Firebird
43+
if: matrix.DB == 'Firebird'
44+
run: |
45+
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
46+
- name: Set up Oracle
47+
if: matrix.DB == 'Oracle'
48+
run: |
49+
docker run -d -p 1521:1521 -e APP_USER=nhibernate -e APP_USER_PASSWORD=nhibernate -e ORACLE_PASSWORD=nhibernate gvenzl/oracle-xe:18-slim
50+
- uses: actions/checkout@v2
51+
- name: Setup .NET
52+
uses: actions/[email protected]
53+
with:
54+
dotnet-version: 2.1.x
55+
- name: Restore dependencies
56+
run: dotnet restore src\\envers.sln
57+
- name: Build
58+
run: dotnet build --no-restore src\\envers.sln
59+
- name: Test
60+
run: dotnet test --no-build src\\envers.sln

0 commit comments

Comments
 (0)