Skip to content

Commit d039b8e

Browse files
mikependonclaude
andcommitted
Added EnterpriseDB to the root README/PACKAGES and its CI/CD pipeline. Ref: #1290
- README.md/PACKAGES.md: list RepoDb.EnterpriseDb (get-started link, package table row, EnterpriseDB.EDBClient credit) - core package only, since RepoDb.EnterpriseDb.BulkOperations does not exist yet. - build-base.yml: new build-enterprisedb job/db-engine, using the official docker.enterprisedb.com/k8s/edb-postgres-advanced:18 image (requires the EDB_DOCKER_USERNAME/EDB_DOCKER_PASSWORD repo secrets to pull) and a pg_isready readiness check. - build-enterprisedb.yml / build-pr-enterprisedb.yml / release-enterprisedb.yml: mirror the Vertica core-package workflows. - build-enterprisedb-bulk.yml / build-pr-enterprisedb-bulk.yml / release-enterprisedb-bulk.yml: mirror the Vertica bulk-package workflows, scaffolded ahead of RepoDb.EnterpriseDb.BulkOperations existing - they stay dormant (their path filters never match) until that project is added. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 4d7b02e commit d039b8e

9 files changed

Lines changed: 210 additions & 2 deletions

.github/workflows/build-base.yml

Lines changed: 79 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, firebird, vertica'
19+
description: 'Database service required for this build: none, sqlserver, postgresql, mysql, mariadb, oracle, db2, clickhouse, firebird, vertica, enterprisedb'
2020
required: true
2121
type: string
2222

@@ -48,6 +48,9 @@ env:
4848
REPODB_FIREBIRD_CONSTR: "DataSource=127.0.0.1;Port=3050;Database=/firebird/data/repodb.fdb;User=SYSDBA;Password=RepoDB2026;Charset=UTF8;Pooling=false;"
4949
# Vertica
5050
REPODB_VERTICA_CONSTR: "Host=127.0.0.1;Port=5433;Database=RepoDb;User=dbadmin;Password=RepoDB2026;"
51+
# EnterpriseDB (EDB Postgres Advanced Server)
52+
REPODB_EDB_CONSTR_SYSTEM: "Server=127.0.0.1;Port=5444;Database=edb;User Id=enterprisedb;Password=RepoDB2026;"
53+
REPODB_EDB_CONSTR: "Server=127.0.0.1;Port=5444;Database=RepoDb;User Id=enterprisedb;Password=RepoDB2026;"
5154

5255
jobs:
5356

@@ -565,6 +568,81 @@ jobs:
565568
name: ${{ inputs.artifact-name }}
566569
path: release/*nupkg
567570

571+
# EnterpriseDB (EDB Postgres Advanced Server) only (e.g. RepoDb.EnterpriseDb, RepoDb.EnterpriseDb.BulkOperations)
572+
build-enterprisedb:
573+
if: inputs.db-engine == 'enterprisedb'
574+
runs-on: ubuntu-latest
575+
576+
services:
577+
enterprisedb:
578+
image: docker.enterprisedb.com/k8s/edb-postgres-advanced:18
579+
# Official EDB image - the registry requires an EDB subscription. Configure the
580+
# EDB_DOCKER_USERNAME/EDB_DOCKER_PASSWORD repository secrets (see docker-compose.yml's
581+
# comment on the equivalent local service) before this job can pull it.
582+
credentials:
583+
username: ${{ secrets.EDB_DOCKER_USERNAME }}
584+
password: ${{ secrets.EDB_DOCKER_PASSWORD }}
585+
ports:
586+
- 127.0.0.1:5444:5444
587+
env:
588+
ACCEPT_EULA: Y
589+
ENTERPRISEDB_PASSWORD: RepoDB2026
590+
DATABASE_NAME: repodb
591+
592+
steps:
593+
- name: Check out repository code
594+
uses: actions/checkout@v5
595+
596+
- name: Setup .NET Versions
597+
uses: actions/setup-dotnet@v5
598+
with:
599+
dotnet-version: |
600+
10.0.x
601+
602+
- name: Dotnet Build
603+
run: dotnet build -c release "${{ inputs.solution-dir }}/${{ inputs.solution-file }}"
604+
605+
- name: Wait for EnterpriseDB service to be ready
606+
run: |
607+
CID=$(docker ps -q --filter "ancestor=docker.enterprisedb.com/k8s/edb-postgres-advanced:18")
608+
if [ -z "$CID" ]; then
609+
echo "Could not find the EnterpriseDB service container."
610+
exit 1
611+
fi
612+
echo "EnterpriseDB container id: $CID"
613+
for i in $(seq 1 60); do
614+
if docker exec "$CID" pg_isready -h 127.0.0.1 -p 5444 -U enterprisedb > /dev/null 2>&1; then
615+
echo "EnterpriseDB is ready (after $((i * 5))s)."
616+
exit 0
617+
fi
618+
echo "Waiting for EnterpriseDB to become ready... attempt $i/60"
619+
sleep 5
620+
done
621+
echo "EnterpriseDB did not become ready within the timeout. Recent container logs:"
622+
docker logs "$CID" --tail 200
623+
exit 1
624+
625+
- name: Test for .NET 8.0
626+
working-directory: ${{ inputs.solution-dir }}
627+
run: dotnet test -c release -f net8.0 --no-build ${{ inputs.solution-file }}
628+
629+
- name: Test for .NET 9.0
630+
working-directory: ${{ inputs.solution-dir }}
631+
run: dotnet test -c release -f net9.0 --no-build ${{ inputs.solution-file }}
632+
633+
- name: Test for .NET 10.0
634+
working-directory: ${{ inputs.solution-dir }}
635+
run: dotnet test -c release -f net10.0 --no-build -p:TestingPlatformDotnetTestSupport=true -p:TestingPlatformShowTestsFailure=true -p:TestingPlatformCaptureOutput=false ${{ inputs.solution-file }}
636+
637+
- name: Run Dotnet Pack
638+
run: dotnet pack -c release -p Version="1.14.0-dev-${{ github.run_number }}" -o release "${{ inputs.solution-dir }}/${{ inputs.solution-file }}"
639+
640+
- name: Package Nuget
641+
uses: actions/upload-artifact@v5
642+
with:
643+
name: ${{ inputs.artifact-name }}
644+
path: release/*nupkg
645+
568646
# Vertica only (e.g. RepoDb.Vertica, RepoDb.Vertica.BulkOperations)
569647
build-vertica:
570648
if: inputs.db-engine == 'vertica'
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Build & Run Tests - RepoDb.EnterpriseDb.BulkOperations (Push)
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
paths:
7+
- 'RepoDb.Core/**'
8+
- 'RepoDb.EnterpriseDb/**'
9+
- 'RepoDb.Extensions/RepoDb.EnterpriseDb.BulkOperations/**'
10+
- '.github/workflows/build-base.yml'
11+
- '.github/workflows/build-enterprisedb-bulk.yml'
12+
13+
jobs:
14+
build:
15+
uses: ./.github/workflows/build-base.yml
16+
with:
17+
solution-dir: RepoDb.Extensions/RepoDb.EnterpriseDb.BulkOperations
18+
solution-file: RepoDb.EnterpriseDb.BulkOperations.sln
19+
artifact-name: release-enterprisedb-bulk
20+
db-engine: enterprisedb
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Build & Run Tests - RepoDb.EnterpriseDb (Push)
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
paths:
7+
- 'RepoDb.Core/**'
8+
- 'RepoDb.EnterpriseDb/**'
9+
- '.github/workflows/build-base.yml'
10+
- '.github/workflows/build-enterprisedb.yml'
11+
12+
jobs:
13+
build:
14+
uses: ./.github/workflows/build-base.yml
15+
with:
16+
solution-dir: RepoDb.EnterpriseDb
17+
solution-file: RepoDb.EnterpriseDb.sln
18+
artifact-name: release-enterprisedb
19+
db-engine: enterprisedb
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.EnterpriseDb.BulkOperations
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
paths:
7+
- 'RepoDb.Core/**'
8+
- 'RepoDb.EnterpriseDb/**'
9+
- 'RepoDb.Extensions/RepoDb.EnterpriseDb.BulkOperations/**'
10+
- '.github/workflows/build-base.yml'
11+
- '.github/workflows/build-pr-enterprisedb-bulk.yml'
12+
13+
jobs:
14+
build:
15+
uses: ./.github/workflows/build-base.yml
16+
with:
17+
solution-dir: RepoDb.Extensions/RepoDb.EnterpriseDb.BulkOperations
18+
solution-file: RepoDb.EnterpriseDb.BulkOperations.sln
19+
artifact-name: release-pr
20+
db-engine: enterprisedb
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.EnterpriseDb
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
paths:
7+
- 'RepoDb.Core/**'
8+
- 'RepoDb.EnterpriseDb/**'
9+
- '.github/workflows/build-base.yml'
10+
- '.github/workflows/build-pr-enterprisedb.yml'
11+
12+
jobs:
13+
build:
14+
uses: ./.github/workflows/build-base.yml
15+
with:
16+
solution-dir: RepoDb.EnterpriseDb
17+
solution-file: RepoDb.EnterpriseDb.sln
18+
artifact-name: release-pr
19+
db-engine: enterprisedb
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Release - RepoDb.EnterpriseDb.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;RepoDbEnterpriseDbVersion=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.EnterpriseDb.BulkOperations
25+
project-path: RepoDb.Extensions/RepoDb.EnterpriseDb.BulkOperations/RepoDb.EnterpriseDb.BulkOperations/RepoDb.EnterpriseDb.BulkOperations.csproj
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Release - RepoDb.EnterpriseDb (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.EnterpriseDb
25+
project-path: RepoDb.EnterpriseDb/RepoDb.EnterpriseDb/RepoDb.EnterpriseDb.csproj

PACKAGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Below are the complete list of provider-specific packages for each supported dat
99
| [ClickHouse (Bulk)](https://www.nuget.org/packages/RepoDb.ClickHouse.BulkOperations) 🆕 | [![](https://img.shields.io/nuget/v/RepoDb.ClickHouse.BulkOperations?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.ClickHouse.BulkOperations) | [![](https://img.shields.io/nuget/dt/RepoDb.ClickHouse.BulkOperations?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.ClickHouse.BulkOperations) | [![Build](https://img.shields.io/github/actions/workflow/status/mikependon/RepoDB/build-clickhouse-bulk.yml?logo=github&label=build&style=for-the-badge)](https://github.com/mikependon/RepoDB/actions/workflows/build-clickhouse-bulk.yml) |
1010
| [IBM DB2](https://www.nuget.org/packages/RepoDb.Db2) 🆕 | [![](https://img.shields.io/nuget/v/RepoDb.Db2?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.Db2) | [![](https://img.shields.io/nuget/dt/RepoDb.Db2?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.Db2) | [![Build](https://img.shields.io/github/actions/workflow/status/mikependon/RepoDB/build-db2.yml?logo=github&label=build&style=for-the-badge)](https://github.com/mikependon/RepoDB/actions/workflows/build-db2.yml) |
1111
| [IBM DB2 (Bulk)](https://www.nuget.org/packages/RepoDb.Db2.BulkOperations) 🆕 | [![](https://img.shields.io/nuget/v/RepoDb.Db2.BulkOperations?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.Db2.BulkOperations) | [![](https://img.shields.io/nuget/dt/RepoDb.Db2.BulkOperations?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.Db2.BulkOperations) | [![Build](https://img.shields.io/github/actions/workflow/status/mikependon/RepoDB/build-db2-bulk.yml?logo=github&label=build&style=for-the-badge)](https://github.com/mikependon/RepoDB/actions/workflows/build-db2-bulk.yml) |
12+
| [EnterpriseDB](https://www.nuget.org/packages/RepoDb.EnterpriseDb) 🆕 | [![](https://img.shields.io/nuget/v/RepoDb.EnterpriseDb?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.EnterpriseDb) | [![](https://img.shields.io/nuget/dt/RepoDb.EnterpriseDb?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.EnterpriseDb) | [![Build](https://img.shields.io/github/actions/workflow/status/mikependon/RepoDB/build-enterprisedb.yml?logo=github&label=build&style=for-the-badge)](https://github.com/mikependon/RepoDB/actions/workflows/build-enterprisedb.yml) |
1213
| [Firebird](https://www.nuget.org/packages/RepoDb.Firebird) 🆕 | [![](https://img.shields.io/nuget/v/RepoDb.Firebird?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.Firebird) | [![](https://img.shields.io/nuget/dt/RepoDb.Firebird?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.Firebird) | [![Build](https://img.shields.io/github/actions/workflow/status/mikependon/RepoDB/build-firebird.yml?logo=github&label=build&style=for-the-badge)](https://github.com/mikependon/RepoDB/actions/workflows/build-firebird.yml) |
1314
| [Firebird (Bulk)](https://www.nuget.org/packages/RepoDb.Firebird.BulkOperations) 🆕 | [![](https://img.shields.io/nuget/v/RepoDb.Firebird.BulkOperations?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.Firebird.BulkOperations) | [![](https://img.shields.io/nuget/dt/RepoDb.Firebird.BulkOperations?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.Firebird.BulkOperations) | [![Build](https://img.shields.io/github/actions/workflow/status/mikependon/RepoDB/build-firebird-bulk.yml?logo=github&label=build&style=for-the-badge)](https://github.com/mikependon/RepoDB/actions/workflows/build-firebird-bulk.yml) |
1415
| [MariaDB](https://www.nuget.org/packages/RepoDb.MariaDb) 🆕 | [![](https://img.shields.io/nuget/v/RepoDb.MariaDb?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.MariaDb) | [![](https://img.shields.io/nuget/dt/RepoDb.MariaDb?&logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/RepoDb.MariaDb) | [![Build](https://img.shields.io/github/actions/workflow/status/mikependon/RepoDB/build-mariadb.yml?logo=github&label=build&style=for-the-badge)](https://github.com/mikependon/RepoDB/actions/workflows/build-mariadb.yml) |

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ Choose your database and follow the quick-start guide:
5454

5555
- [ClickHouse](http://repodb.net/tutorial/get-started-clickhouse)
5656
- [Db2](http://repodb.net/tutorial/get-started-db2)
57+
- [EnterpriseDB](http://repodb.net/tutorial/get-started-enterprisedb)
5758
- [Firebird](http://repodb.net/tutorial/get-started-firebird)
5859
- [MariaDB](http://repodb.net/tutorial/get-started-mariadb)
5960
- [MySQL](http://repodb.net/tutorial/get-started-mysql)
@@ -195,7 +196,7 @@ Read our [contributing](CONTRIBUTING.md) page for more.
195196

196197
Thanks to all [contributors](https://github.com/mikependon/RepoDb/graphs/contributors) and to [Scott Hanselman](https://www.hanselman.com/) for [featuring RepoDB](https://www.hanselman.com/blog/ExploringTheNETOpenSourceHybridORMLibraryRepoDB.aspx).
197198

198-
Tools and projects that make RepoDB possible: [GitHub](https://github.com/), [GitHub Actions](https://github.com/features/actions), [Docker](https://www.docker.com/), [Microsoft Teams](https://teams.live.com/l/community/FEAIJp5q65nfiiWsQ), [Moq](https://github.com/moq/moq4), [MSTest](https://github.com/microsoft/testfx), [NuGet](https://www.nuget.org/), [RawDataAccessBencher](https://github.com/FransBouma/RawDataAccessBencher), [Shields](https://shields.io/), [Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient/), [Microsoft.Data.Sqlite](https://www.nuget.org/packages/Microsoft.Data.Sqlite/), [System.Data.SQLite.Core](https://www.nuget.org/packages/System.Data.SQLite.Core/), [MySql.Data](https://www.nuget.org/packages/MySql.Data/), [MySqlConnector](https://www.nuget.org/packages/MySqlConnector/), [Npgsql](https://www.nuget.org/packages/Npgsql/), [FirebirdSql.Data.FirebirdClient](https://www.nuget.org/packages/FirebirdSql.Data.FirebirdClient/), [Net.IBM.Data.Db2](https://www.nuget.org/packages/Net.IBM.Data.Db2/), [Oracle.ManagedDataAccess.Core](https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/), [ClickHouse.Driver](https://www.nuget.org/packages/ClickHouse.Driver/), [RepoDb.Connector.MariaDb](https://www.nuget.org/packages/RepoDb.Connector.MariaDb/), [RepoDb.Connector.MariaDbConnector](https://www.nuget.org/packages/RepoDb.Connector.MariaDbConnector/), [Vertica.Data](https://www.nuget.org/packages/Vertica.Data/).
199+
Tools and projects that make RepoDB possible: [GitHub](https://github.com/), [GitHub Actions](https://github.com/features/actions), [Docker](https://www.docker.com/), [Microsoft Teams](https://teams.live.com/l/community/FEAIJp5q65nfiiWsQ), [Moq](https://github.com/moq/moq4), [MSTest](https://github.com/microsoft/testfx), [NuGet](https://www.nuget.org/), [RawDataAccessBencher](https://github.com/FransBouma/RawDataAccessBencher), [Shields](https://shields.io/), [Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient/), [Microsoft.Data.Sqlite](https://www.nuget.org/packages/Microsoft.Data.Sqlite/), [System.Data.SQLite.Core](https://www.nuget.org/packages/System.Data.SQLite.Core/), [MySql.Data](https://www.nuget.org/packages/MySql.Data/), [MySqlConnector](https://www.nuget.org/packages/MySqlConnector/), [Npgsql](https://www.nuget.org/packages/Npgsql/), [FirebirdSql.Data.FirebirdClient](https://www.nuget.org/packages/FirebirdSql.Data.FirebirdClient/), [Net.IBM.Data.Db2](https://www.nuget.org/packages/Net.IBM.Data.Db2/), [Oracle.ManagedDataAccess.Core](https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/), [ClickHouse.Driver](https://www.nuget.org/packages/ClickHouse.Driver/), [RepoDb.Connector.MariaDb](https://www.nuget.org/packages/RepoDb.Connector.MariaDb/), [RepoDb.Connector.MariaDbConnector](https://www.nuget.org/packages/RepoDb.Connector.MariaDbConnector/), [Vertica.Data](https://www.nuget.org/packages/Vertica.Data/), [EnterpriseDB.EDBClient](https://www.nuget.org/packages/EnterpriseDB.EDBClient/).
199200

200201
## License
201202

0 commit comments

Comments
 (0)