Skip to content

Commit 04ded09

Browse files
authored
Simplify GitHub Actions Tests DB initialization (#3223)
1 parent 4fd970f commit 04ded09

File tree

1 file changed

+13
-26
lines changed

1 file changed

+13
-26
lines changed

.github/workflows/NetCoreTests.yml

+13-26
Original file line numberDiff line numberDiff line change
@@ -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}}
@@ -26,32 +37,8 @@ jobs:
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

Comments
 (0)