Skip to content

Commit c1498a9

Browse files
authored
Merge branch 'sqlkata:main' into main
2 parents 33230bb + 981f444 commit c1498a9

3 files changed

Lines changed: 70 additions & 26 deletions

File tree

.github/workflows/ci.yml

Lines changed: 60 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
on:
22
push:
3-
branches:
4-
- main
3+
branches: ["main"]
4+
pull_request:
5+
branches: ["main"]
56
env:
67
# Stop wasting time caching packages
78
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
@@ -10,28 +11,70 @@ env:
1011

1112
# MYSQL DB
1213
DB_MYSQL_DATABASE: test_sqlkata
13-
DB_MYSQL_USER: root
14-
DB_MYSQL_PASSWORD: "root"
15-
DB_MYSQL_HOST: localhost
14+
15+
# MS SQL
16+
DB_MSSQL_HOST: localhost
17+
DB_MSSQL_USER: sa
18+
DB_MSSQL_DATABASE: test_sqlkata
19+
20+
1621
jobs:
1722
build:
1823
runs-on: ubuntu-latest
19-
timeout-minutes: 15
24+
# Define a service container for SQL Server
25+
# services:
26+
# mssql:
27+
# image: mcr.microsoft.com/mssql/server:2022-latest
28+
# env:
29+
# MSSQL_SA_PASSWORD: "${{ secrets.MSSQL_SA_PASSWORD }}"
30+
# ACCEPT_EULA: 'Y'
31+
# MSSQL_PID: Express
32+
# ports:
33+
# - 1433:1433 # Map the port
34+
# # Wait for the service to be ready before running steps
35+
# options: >-
36+
# --health-cmd "sqlcmd -S localhost -U sa -P $SA_PASSWORD -Q 'SELECT 1'"
37+
# --health-interval 10s
38+
# --health-timeout 5s
39+
# --health-retries 20
40+
41+
timeout-minutes: 20
2042
steps:
21-
- name: Checkout
22-
uses: actions/checkout@v4
43+
- uses: actions/checkout@v4
44+
- name: Setup .NET
45+
uses: actions/setup-dotnet@v4
46+
with:
47+
dotnet-version: 8.0.x
48+
- name: Restore dependencies
49+
run: dotnet restore
2350
- name: Build
24-
run: dotnet build --configuration Release
51+
run: dotnet build --no-restore
2552
- name: Start MySql
2653
run: |
2754
sudo /etc/init.d/mysql start
28-
mysqladmin -u ${{ env.DB_MYSQL_USER }} -p${{ env.DB_MYSQL_PASSWORD }} password ''
29-
mysql -e 'CREATE DATABASE ${{ env.DB_MYSQL_DATABASE }};' -u${{ env.DB_MYSQL_USER }}
30-
mysql -e 'CREATE TABLE cars(id int primary key auto_increment);' -u${{ env.DB_MYSQL_USER }} ${{ env.DB_MYSQL_DATABASE }}
31-
mysql -e 'SHOW TABLES;' -u${{ env.DB_MYSQL_USER }} ${{ env.DB_MYSQL_DATABASE }}
32-
- name: Test
33-
run: dotnet test --configuration Release --no-build
55+
mysqladmin -u root -proot password "${{ secrets.MYSQL_ROOT_PASSWORD }}"
56+
mysql -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e 'CREATE DATABASE ${{ env.DB_MYSQL_DATABASE }};'
57+
mysql -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e 'CREATE TABLE cars(id int primary key auto_increment);' ${{ env.DB_MYSQL_DATABASE }}
58+
mysql -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e 'SHOW TABLES;' ${{ env.DB_MYSQL_DATABASE }}
59+
60+
# - name: Install sqlcmd tools
61+
# run: |
62+
# sudo apt-get update
63+
# sudo apt-get install -y curl apt-transport-https gnupg
64+
# curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
65+
# echo "deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/ubuntu/$(lsb_release -rs)/prod $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/microsoft.list
66+
# sudo apt-get update
67+
# sudo apt-get install -y mssql-tools unixodbc-dev
68+
# echo '/opt/mssql-tools/bin' | sudo tee -a $GITHUB_PATH
69+
70+
# - name: Run SQL commands (example)
71+
# run: |
72+
# sqlcmd -S localhost,1433 -U SA -P "${{ secrets.MSSQL_SA_PASSWORD }}" -Q "SELECT @@VERSION"
73+
74+
- name: Run Test
75+
run: dotnet test --no-build --verbosity normal
3476
env:
35-
SQLKATA_MYSQL_HOST: ${{ env.DB_MYSQL_HOST }}
36-
SQLKATA_MYSQL_USER: ${{ env.DB_MYSQL_USER }}
77+
SQLKATA_MYSQL_HOST: localhost
78+
SQLKATA_MYSQL_USER: root
3779
SQLKATA_MYSQL_DB: ${{ env.DB_MYSQL_DATABASE }}
80+
SQLKATA_MYSQL_PASSWORD: "${{ secrets.MYSQL_ROOT_PASSWORD }}"

QueryBuilder.Tests/MySqlExecutionTest.cs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,12 @@ public void BasicSelectFilter()
213213
// 2020
214214
{"2020-01-01", 10},
215215
{"2020-05-01", 20},
216-
216+
217217
// 2021
218218
{"2021-01-01", 40},
219219
{"2021-02-01", 10},
220220
{"2021-04-01", -10},
221-
221+
222222
// 2022
223223
{"2022-01-01", 80},
224224
{"2022-02-01", -30},
@@ -251,10 +251,11 @@ public void BasicSelectFilter()
251251

252252
QueryFactory DB()
253253
{
254-
var host = System.Environment.GetEnvironmentVariable("SQLKATA_MYSQL_HOST");
255-
var user = System.Environment.GetEnvironmentVariable("SQLKATA_MYSQL_USER");
256-
var dbName = System.Environment.GetEnvironmentVariable("SQLKATA_MYSQL_DB");
257-
var cs = $"server={host};user={user};database={dbName}";
254+
var host = Environment.GetEnvironmentVariable("SQLKATA_MYSQL_HOST");
255+
var user = Environment.GetEnvironmentVariable("SQLKATA_MYSQL_USER");
256+
var dbName = Environment.GetEnvironmentVariable("SQLKATA_MYSQL_DB");
257+
var dbPass = Environment.GetEnvironmentVariable("SQLKATA_MYSQL_PASSWORD");
258+
var cs = $"Server={host};User={user};Database={dbName};Password={dbPass}";
258259

259260
var connection = new MySqlConnection(cs);
260261

@@ -266,4 +267,4 @@ QueryFactory DB()
266267

267268

268269
}
269-
}
270+
}

QueryBuilder.Tests/QueryBuilder.Tests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<PackageReference Include="Microsoft.NET.Test.Sdk"
1212
Version="17.12.0" />
1313
<PackageReference Include="MySql.Data"
14-
Version="8.0.30" />
14+
Version="9.4.0" />
1515
<PackageReference Include="xunit"
1616
Version="2.9.3" />
1717
<PackageReference Include="xunit.runner.visualstudio"
@@ -21,4 +21,4 @@
2121
<ProjectReference Include="..\QueryBuilder\QueryBuilder.csproj" />
2222
<ProjectReference Include="..\SqlKata.Execution\SqlKata.Execution.csproj" />
2323
</ItemGroup>
24-
</Project>
24+
</Project>

0 commit comments

Comments
 (0)