Skip to content

Commit 8bf3edb

Browse files
Merge branch 'master' into patch-1
2 parents 59c1b64 + 4124a62 commit 8bf3edb

214 files changed

Lines changed: 23897 additions & 199 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: MySql CI build
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
pull_request:
7+
branches: [ master ]
8+
9+
env:
10+
config: Release
11+
disable_test_parallelization: true
12+
DOTNET_CLI_TELEMETRY_OPTOUT: 1
13+
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
14+
db_pwd: P@55w0rd
15+
16+
jobs:
17+
build:
18+
19+
runs-on: ubuntu-latest
20+
timeout-minutes: 30
21+
22+
strategy:
23+
matrix:
24+
mysql-image:
25+
- mysql:8.0
26+
framework:
27+
- net8.0
28+
- net9.0
29+
- net10.0
30+
31+
name: MySql ${{ matrix.mysql-image }} ${{ matrix.framework }}
32+
33+
services:
34+
mysql:
35+
image: ${{ matrix.mysql-image }}
36+
ports:
37+
- 3306:3306
38+
env:
39+
MYSQL_ROOT_PASSWORD: ${{ env.db_pwd }}
40+
MYSQL_DATABASE: weasel_testing
41+
MYSQL_USER: weasel
42+
MYSQL_PASSWORD: ${{ env.db_pwd }}
43+
options: >-
44+
--health-cmd="mysqladmin ping -h localhost"
45+
--health-interval=10s
46+
--health-timeout=5s
47+
--health-retries=5
48+
49+
steps:
50+
- uses: actions/checkout@v6
51+
52+
- name: Install .NET
53+
uses: actions/setup-dotnet@v5
54+
with:
55+
dotnet-version: |
56+
8.0.x
57+
9.0.x
58+
10.0.x
59+
60+
- name: Restore dependencies
61+
run: dotnet restore
62+
63+
- name: Build
64+
run: dotnet build --no-restore
65+
66+
- name: Test
67+
env:
68+
weasel_mysql_testing_database: "Server=localhost;Port=3306;Database=weasel_testing;Uid=weasel;Pwd=${{ env.db_pwd }};"
69+
run: dotnet test src/Weasel.MySql.Tests/Weasel.MySql.Tests.csproj --no-build --verbosity normal --framework ${{ matrix.framework }}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Oracle CI build
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
pull_request:
7+
branches: [ master ]
8+
9+
env:
10+
config: Release
11+
disable_test_parallelization: true
12+
DOTNET_CLI_TELEMETRY_OPTOUT: 1
13+
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
14+
db_pwd: P@55w0rd
15+
16+
jobs:
17+
build:
18+
19+
runs-on: ubuntu-latest
20+
timeout-minutes: 45
21+
22+
strategy:
23+
matrix:
24+
framework:
25+
- net8.0
26+
- net9.0
27+
- net10.0
28+
29+
name: Oracle ${{ matrix.framework }}
30+
31+
steps:
32+
- uses: actions/checkout@v6
33+
34+
- name: Start Oracle via docker-compose
35+
run: docker compose up -d oracle
36+
37+
- name: Wait for Oracle to be healthy
38+
run: |
39+
echo "Waiting for Oracle to be ready..."
40+
timeout 300 bash -c 'until docker compose exec -T oracle healthcheck.sh; do sleep 10; done'
41+
echo "Oracle is ready"
42+
43+
- name: Install .NET
44+
uses: actions/setup-dotnet@v5
45+
with:
46+
dotnet-version: |
47+
8.0.x
48+
9.0.x
49+
10.0.x
50+
51+
- name: Restore dependencies
52+
run: dotnet restore
53+
54+
- name: Build
55+
run: dotnet build --no-restore
56+
57+
- name: Test
58+
env:
59+
weasel_oracle_testing_database: "Data Source=localhost:1521/FREEPDB1;User Id=weasel;Password=${{ env.db_pwd }};"
60+
run: dotnet test src/Weasel.Oracle.Tests/Weasel.Oracle.Tests.csproj --no-build --verbosity normal --framework ${{ matrix.framework }}
61+
62+
- name: Stop Oracle
63+
if: always()
64+
run: docker compose down
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: SQLite CI Build
2+
3+
on:
4+
push:
5+
branches: [ master, sqlite ]
6+
pull_request:
7+
branches: [ master ]
8+
9+
env:
10+
config: Release
11+
disable_test_parallelization: true
12+
DOTNET_CLI_TELEMETRY_OPTOUT: 1
13+
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
14+
15+
jobs:
16+
build:
17+
18+
runs-on: ${{ matrix.os }}
19+
timeout-minutes: 15
20+
21+
strategy:
22+
# Test on multiple operating systems since SQLite is cross-platform
23+
matrix:
24+
os:
25+
- ubuntu-latest
26+
#- windows-latest
27+
#- macos-latest
28+
framework:
29+
- net8.0
30+
- net9.0
31+
- net10.0
32+
33+
name: SQLite ${{ matrix.os }} ${{ matrix.framework }}
34+
35+
steps:
36+
- uses: actions/checkout@v6
37+
38+
- name: Install .NET
39+
uses: actions/setup-dotnet@v5
40+
with:
41+
dotnet-version: |
42+
8.0.x
43+
9.0.x
44+
10.0.x
45+
46+
- name: Restore dependencies
47+
run: dotnet restore
48+
49+
- name: Build
50+
run: dotnet build --no-restore --configuration ${{ env.config }}
51+
52+
- name: Test
53+
run: dotnet test src/Weasel.Sqlite.Tests/Weasel.Sqlite.Tests.csproj --no-build --verbosity normal --configuration ${{ env.config }} --framework ${{ matrix.framework }}

.github/workflows/publish_nuget.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,18 @@ jobs:
3333
- name: Pack Weasel.SqlServer
3434
run: dotnet pack ./src/Weasel.SqlServer/Weasel.SqlServer.csproj -o ./artifacts --configuration Release --no-build
3535

36+
- name: Pack Weasel.MySql
37+
run: dotnet pack ./src/Weasel.MySql/Weasel.MySql.csproj -o ./artifacts --configuration Release --no-build
38+
39+
- name: Pack Weasel.Oracle
40+
run: dotnet pack ./src/Weasel.Oracle/Weasel.Oracle.csproj -o ./artifacts --configuration Release --no-build
41+
42+
- name: Pack Weasel.Sqlite
43+
run: dotnet pack ./src/Weasel.Sqlite/Weasel.Sqlite.csproj -o ./artifacts --configuration Release --no-build
44+
45+
- name: Pack Weasel.EntityFrameworkCore
46+
run: dotnet pack ./src/Weasel.EntityFrameworkCore/Weasel.EntityFrameworkCore.csproj -o ./artifacts --configuration Release --no-build
47+
3648
- name: Publish to NuGet
3749
run: |
3850
find . -name '*.nupkg' -exec dotnet nuget push "{}" -s https://api.nuget.org/v3/index.json -k ${{ secrets.NUGET_API_KEY }} --skip-duplicate \;

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,3 +356,6 @@ MigrationBackup/
356356
/.idea/.idea.Weasel/.idea/vcs.xml
357357

358358
/.idea
359+
360+
# macOS
361+
.DS_Store

0 commit comments

Comments
 (0)