Skip to content

Commit d4ece26

Browse files
authored
Merge pull request #1357 from mikependon/auroradb-support
Add the RepoDb.AuroraDb.PostgreSql and RepoDb.AuroraDb.PostgreSql.BulkOperations providers
2 parents f647be1 + cbfbc06 commit d4ece26

159 files changed

Lines changed: 58274 additions & 64 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.

‎.github/ISSUE_TEMPLATE/report-a-bug.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ body:
5353
- RepoDb.Oracle
5454
- RepoDb.Sqlite.Microsoft
5555
- RepoDb.Db2
56+
- RepoDb.AuroraDb.PostgreSql
5657
- RepoDb.ClickHouse
5758
- RepoDb.CockroachDb
5859
- RepoDb.DuckDb
@@ -68,6 +69,7 @@ body:
6869
- RepoDb.MariaDbConnector.BulkOperations
6970
- RepoDb.Oracle.BulkOperations
7071
- RepoDb.Db2.BulkOperations
72+
- RepoDb.AuroraDb.PostgreSql.BulkOperations
7173
- RepoDb.ClickHouse.BulkOperations
7274
- RepoDb.CockroachDb.BulkOperations
7375
- RepoDb.DuckDb.BulkOperations
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Build & Run Tests - RepoDb.AuroraDb.PostgreSql.BulkOperations (Push)
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
paths:
7+
- 'src/Providers/RepoDb.Core/**'
8+
- 'src/Providers/RepoDb.AuroraDb.PostgreSql/**'
9+
- 'src/Providers/RepoDb.AuroraDb.PostgreSql.BulkOperations/**'
10+
- '.github/workflows/build-base.yml'
11+
- '.github/workflows/build-auroradb-postgresql-bulk.yml'
12+
13+
jobs:
14+
build:
15+
uses: ./.github/workflows/build-base.yml
16+
with:
17+
solution-dir: src/Providers/RepoDb.AuroraDb.PostgreSql.BulkOperations
18+
solution-file: RepoDb.AuroraDb.PostgreSql.BulkOperations.sln
19+
artifact-name: release-auroradb-postgresql-bulk
20+
db-engine: auroradbnpgsql
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Build & Run Tests - RepoDb.AuroraDb.PostgreSql (Push)
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
paths:
7+
- 'src/Providers/RepoDb.Core/**'
8+
- 'src/Providers/RepoDb.AuroraDb.PostgreSql/**'
9+
- '.github/workflows/build-base.yml'
10+
- '.github/workflows/build-auroradb-postgresql.yml'
11+
12+
jobs:
13+
build:
14+
uses: ./.github/workflows/build-base.yml
15+
with:
16+
solution-dir: src/Providers/RepoDb.AuroraDb.PostgreSql
17+
solution-file: RepoDb.AuroraDb.PostgreSql.sln
18+
artifact-name: release-auroradb-postgresql
19+
db-engine: auroradbnpgsql

‎.github/workflows/build-base.yml‎

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ on:
1616
required: true
1717
type: string
1818
db-engine:
19-
description: 'Database service required for this build: none, sqlserver, postgresql, mysql, mariadb, oracle, db2, clickhouse, cockroachdb, firebird, vertica, enterprisedb, saphana'
19+
description: 'Database service required for this build: none, sqlserver, postgresql, auroradbnpgsql, mysql, mariadb, oracle, db2, clickhouse, cockroachdb, firebird, vertica, enterprisedb, saphana'
2020
required: true
2121
type: string
2222
secrets:
@@ -36,6 +36,10 @@ env:
3636
REPODB_PGSQL_CONSTR_POSTGRES: "Server=127.0.0.1;Port=5432;Database=postgres;User Id=postgres;Password=RepoDB2026;"
3737
REPODB_PGSQL_CONSTR: "Server=127.0.0.1;Port=5432;Database=RepoDb;User Id=postgres;Password=RepoDB2026;"
3838
REPODB_PGSQL_CONSTR_BULK: "Server=127.0.0.1;Port=5432;Database=RepoDbBulk;User Id=postgres;Password=RepoDB2026;"
39+
# Amazon Aurora PostgreSQL (a plain PostgreSQL with PostGIS stands in for an Aurora PostgreSQL cluster)
40+
REPODB_AURORADB_CONSTR_SYSTEM: "Server=127.0.0.1;Port=5435;Database=postgres;User Id=postgres;Password=RepoDB2026;"
41+
REPODB_AURORADB_CONSTR: "Server=127.0.0.1;Port=5435;Database=RepoDb;User Id=postgres;Password=RepoDB2026;"
42+
REPODB_AURORADB_CONSTR_BULK: "Server=127.0.0.1;Port=5435;Database=RepoDbBulk;User Id=postgres;Password=RepoDB2026;"
3943
# MySQL
4044
REPODB_MYSQL_CONSTR_SYSTEM: "Server=127.0.0.1;Port=3306;Database=sys;User ID=root;Password=RepoDB2026;"
4145
REPODB_MYSQL_CONSTR: "Server=127.0.0.1;Port=3306;Database=RepoDb;User ID=root;Password=RepoDB2026;"
@@ -200,6 +204,59 @@ jobs:
200204
name: ${{ inputs.artifact-name }}
201205
path: release/*nupkg
202206

207+
# Amazon Aurora PostgreSQL only (e.g. RepoDb.AuroraDb.PostgreSql, RepoDb.AuroraDb.PostgreSql.BulkOperations). A plain PostgreSQL with PostGIS stands in for an Aurora PostgreSQL cluster.
208+
build-auroradbnpgsql:
209+
if: inputs.db-engine == 'auroradbnpgsql'
210+
runs-on: ubuntu-latest
211+
212+
services:
213+
auroradbnpgsql:
214+
image: postgis/postgis:latest
215+
ports:
216+
- 127.0.0.1:5435:5432
217+
env:
218+
POSTGRES_USER: postgres
219+
POSTGRES_PASSWORD: RepoDB2026
220+
options: >-
221+
--health-cmd "pg_isready -U postgres"
222+
--health-interval 5s
223+
--health-timeout 5s
224+
--health-retries 30
225+
226+
steps:
227+
- name: Check out repository code
228+
uses: actions/checkout@v5
229+
230+
- name: Setup .NET Versions
231+
uses: actions/setup-dotnet@v5
232+
with:
233+
dotnet-version: |
234+
10.0.x
235+
236+
- name: Dotnet Build
237+
run: dotnet build -c release "${{ inputs.solution-dir }}/${{ inputs.solution-file }}"
238+
239+
- name: Test for .NET 8.0
240+
working-directory: ${{ inputs.solution-dir }}
241+
run: dotnet test -c release -f net8.0 --no-build ${{ inputs.solution-file }}
242+
243+
- name: Test for .NET 9.0
244+
working-directory: ${{ inputs.solution-dir }}
245+
run: dotnet test -c release -f net9.0 --no-build ${{ inputs.solution-file }}
246+
247+
- name: Test for .NET 10.0
248+
working-directory: ${{ inputs.solution-dir }}
249+
run: dotnet test -c release -f net10.0 --no-build -p:TestingPlatformDotnetTestSupport=true -p:TestingPlatformShowTestsFailure=true -p:TestingPlatformCaptureOutput=false ${{ inputs.solution-file }}
250+
251+
- name: Run Dotnet Pack
252+
run: dotnet pack -c release -p Version="1.14.0-dev-${{ github.run_number }}" -o release "${{ inputs.solution-dir }}/${{ inputs.solution-file }}"
253+
254+
- name: Package Nuget
255+
uses: actions/upload-artifact@v5
256+
with:
257+
name: ${{ inputs.artifact-name }}
258+
path: release/*nupkg
259+
203260
# MySQL only (e.g. RepoDb.MySql, RepoDb.MySqlConnector)
204261
build-mysql:
205262
if: inputs.db-engine == 'mysql'
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: PR - Build & Run Tests - RepoDb.AuroraDb.PostgreSql.BulkOperations
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
paths:
7+
- 'src/Providers/RepoDb.Core/**'
8+
- 'src/Providers/RepoDb.AuroraDb.PostgreSql/**'
9+
- 'src/Providers/RepoDb.AuroraDb.PostgreSql.BulkOperations/**'
10+
- '.github/workflows/build-base.yml'
11+
- '.github/workflows/build-pr-auroradb-postgresql-bulk.yml'
12+
13+
jobs:
14+
build:
15+
uses: ./.github/workflows/build-base.yml
16+
with:
17+
solution-dir: src/Providers/RepoDb.AuroraDb.PostgreSql.BulkOperations
18+
solution-file: RepoDb.AuroraDb.PostgreSql.BulkOperations.sln
19+
artifact-name: release-pr
20+
db-engine: auroradbnpgsql
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: PR - Build & Run Tests - RepoDb.AuroraDb.PostgreSql
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
paths:
7+
- 'src/Providers/RepoDb.Core/**'
8+
- 'src/Providers/RepoDb.AuroraDb.PostgreSql/**'
9+
- '.github/workflows/build-base.yml'
10+
- '.github/workflows/build-pr-auroradb-postgresql.yml'
11+
12+
jobs:
13+
build:
14+
uses: ./.github/workflows/build-base.yml
15+
with:
16+
solution-dir: src/Providers/RepoDb.AuroraDb.PostgreSql
17+
solution-file: RepoDb.AuroraDb.PostgreSql.sln
18+
artifact-name: release-pr
19+
db-engine: auroradbnpgsql
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Release - RepoDb.AuroraDb.PostgreSql.BulkOperations (Manual)
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: "Package version to publish (e.g. 1.14.0)"
8+
required: true
9+
type: string
10+
dependency-overrides:
11+
description: "Semicolon-separated pins for dependencies not released at the same version this run, e.g. 'RepoDbCoreVersion=1.14.0;RepoDbAuroraDbPostgreSqlVersion=1.14.0'"
12+
required: false
13+
type: string
14+
default: ''
15+
release:
16+
types: [published]
17+
18+
jobs:
19+
publish:
20+
uses: ./.github/workflows/release-base.yml
21+
with:
22+
version: ${{ inputs.version }}
23+
dependency-overrides: ${{ inputs.dependency-overrides }}
24+
project-name: RepoDb.AuroraDb.PostgreSql.BulkOperations
25+
project-path: src/Providers/RepoDb.AuroraDb.PostgreSql.BulkOperations/RepoDb.AuroraDb.PostgreSql.BulkOperations/RepoDb.AuroraDb.PostgreSql.BulkOperations.csproj
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Release - RepoDb.AuroraDb.PostgreSql (Manual)
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: "Package version to publish (e.g. 1.14.0)"
8+
required: true
9+
type: string
10+
dependency-overrides:
11+
description: "Set RepoDbCoreVersion=<version> if RepoDb.Core is not being released at the same version this run (e.g. RepoDbCoreVersion=1.14.0)"
12+
required: false
13+
type: string
14+
default: ''
15+
release:
16+
types: [published]
17+
18+
jobs:
19+
publish:
20+
uses: ./.github/workflows/release-base.yml
21+
with:
22+
version: ${{ inputs.version }}
23+
dependency-overrides: ${{ inputs.dependency-overrides }}
24+
project-name: RepoDb.AuroraDb.PostgreSql
25+
project-path: src/Providers/RepoDb.AuroraDb.PostgreSql/RepoDb.AuroraDb.PostgreSql/RepoDb.AuroraDb.PostgreSql.csproj

0 commit comments

Comments
 (0)