Skip to content

Commit 8a9d551

Browse files
committed
Merge branch 'faddiv/main' into faddiv/test-improvements
# Conflicts: # QueryBuilder.Tests/MySql/MySqlExecutionTest.cs # QueryBuilder.Tests/QueryBuilder.Tests.csproj
2 parents d621992 + 981f444 commit 8a9d551

File tree

11 files changed

+255
-429
lines changed

11 files changed

+255
-429
lines changed

.github/workflows/build.yml

Lines changed: 0 additions & 144 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
on:
2+
push:
3+
branches: ["main"]
4+
pull_request:
5+
branches: ["main"]
6+
env:
7+
# Stop wasting time caching packages
8+
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
9+
# Disable sending usage data to Microsoft
10+
DOTNET_CLI_TELEMETRY_OPTOUT: true
11+
12+
# MYSQL DB
13+
DB_MYSQL_DATABASE: test_sqlkata
14+
15+
# MS SQL
16+
DB_MSSQL_HOST: localhost
17+
DB_MSSQL_USER: sa
18+
DB_MSSQL_DATABASE: test_sqlkata
19+
20+
21+
jobs:
22+
build:
23+
runs-on: ubuntu-latest
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
42+
steps:
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
50+
- name: Build
51+
run: dotnet build --no-restore
52+
- name: Start MySql
53+
run: |
54+
sudo /etc/init.d/mysql start
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
76+
env:
77+
SQLKATA_MYSQL_HOST: localhost
78+
SQLKATA_MYSQL_USER: root
79+
SQLKATA_MYSQL_DB: ${{ env.DB_MYSQL_DATABASE }}
80+
SQLKATA_MYSQL_PASSWORD: "${{ secrets.MYSQL_ROOT_PASSWORD }}"

.github/workflows/release.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
on:
2+
push:
3+
tags:
4+
- "v[0-9]+.[0-9]+.[0-9]+"
5+
env:
6+
# Stop wasting time caching packages
7+
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
8+
# Disable sending usage data to Microsoft
9+
DOTNET_CLI_TELEMETRY_OPTOUT: true
10+
11+
# MYSQL DB
12+
DB_MYSQL_DATABASE: test_sqlkata
13+
DB_MYSQL_USER: root
14+
DB_MYSQL_PASSWORD: "root"
15+
DB_MYSQL_HOST: localhost
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
timeout-minutes: 15
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
with:
24+
fetch-depth: 0
25+
- name: Verify commit exists in origin/main
26+
run: git branch --remote --contains | grep origin/main
27+
# - name: Extract release notes
28+
# run: |
29+
# git log --pretty=format:'%d %s' ${GITHUB_REF} | perl -pe 's| \(.*tag: v(\d+.\d+.\d+(-preview\d{3})?)(, .*?)*\)|\n## \1\n|g' > RELEASE-NOTES
30+
- name: Set VERSION variable from tag
31+
run: echo "VERSION=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_ENV
32+
- name: Build
33+
run: dotnet build --configuration Release /p:Version=${VERSION}
34+
- name: Start MySql
35+
run: |
36+
sudo /etc/init.d/mysql start
37+
mysqladmin -u ${{ env.DB_MYSQL_USER }} -p${{ env.DB_MYSQL_PASSWORD }} password ''
38+
mysql -e 'CREATE DATABASE ${{ env.DB_MYSQL_DATABASE }};' -u${{ env.DB_MYSQL_USER }}
39+
mysql -e 'CREATE TABLE cars(id int primary key auto_increment);' -u${{ env.DB_MYSQL_USER }} ${{ env.DB_MYSQL_DATABASE }}
40+
mysql -e 'SHOW TABLES;' -u${{ env.DB_MYSQL_USER }} ${{ env.DB_MYSQL_DATABASE }}
41+
- name: Test
42+
run: dotnet test --configuration Release /p:Version=${VERSION} --no-build
43+
env:
44+
SQLKATA_MYSQL_HOST: ${{ env.DB_MYSQL_HOST }}
45+
SQLKATA_MYSQL_USER: ${{ env.DB_MYSQL_USER }}
46+
SQLKATA_MYSQL_DB: ${{ env.DB_MYSQL_DATABASE }}
47+
- name: Pack
48+
run: dotnet pack --configuration Release /p:Version=${VERSION} --no-build --output .
49+
- name: Push to Github Packages
50+
run: dotnet nuget push *.${VERSION}.nupkg --skip-duplicate --source https://nuget.pkg.github.com/sqlkata/index.json --api-key ${GITHUB_TOKEN}
51+
env:
52+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
53+
- name: Push to Nuget
54+
run: dotnet nuget push *.${VERSION}.nupkg --skip-duplicate --source https://api.nuget.org/v3/index.json --api-key ${NUGET_KEY}
55+
env:
56+
NUGET_KEY: ${{ secrets.NUGET_KEY }}

Program/Program.cs

Lines changed: 0 additions & 114 deletions
This file was deleted.

0 commit comments

Comments
 (0)