Adds a MariaDB service to backend-test for SlpModularCms.Api.Tests
Continuous Integration / config (pull_request) Successful in 12s
Continuous Integration / changes (pull_request) Successful in 22s
Continuous Integration / backend-build (pull_request) Successful in 5m52s
Continuous Integration / vulnerability-scan (pull_request) Successful in 5m6s
Continuous Integration / frontend-prepare (pull_request) Successful in 1m24s
Continuous Integration / backend-test (pull_request) Failing after 8m24s
Continuous Integration / frontend-build (pull_request) Successful in 2m14s
Continuous Integration / frontend-test (pull_request) Successful in 4m28s
Continuous Integration / frontend-lint (pull_request) Successful in 2m5s
Continuous Integration / publish-test (pull_request) Skipped
Continuous Integration / publish-production (pull_request) Skipped
Continuous Integration / deploy-test (pull_request) Skipped
Continuous Integration / deploy-production (pull_request) Skipped
Continuous Integration / config (pull_request) Successful in 12s
Continuous Integration / changes (pull_request) Successful in 22s
Continuous Integration / backend-build (pull_request) Successful in 5m52s
Continuous Integration / vulnerability-scan (pull_request) Successful in 5m6s
Continuous Integration / frontend-prepare (pull_request) Successful in 1m24s
Continuous Integration / backend-test (pull_request) Failing after 8m24s
Continuous Integration / frontend-build (pull_request) Successful in 2m14s
Continuous Integration / frontend-test (pull_request) Successful in 4m28s
Continuous Integration / frontend-lint (pull_request) Successful in 2m5s
Continuous Integration / publish-test (pull_request) Skipped
Continuous Integration / publish-production (pull_request) Skipped
Continuous Integration / deploy-test (pull_request) Skipped
Continuous Integration / deploy-production (pull_request) Skipped
The new pipeline regression tests boot the real Api host via WebApplicationFactory, which unconditionally runs the startup database migration -- unlike every other test project here, which mocks or uses EF Core InMemory. CI had no MariaDB service at all, so those tests failed on the connection itself. Adds a mariadb service container to the backend-test job plus a ConnectionStrings__DefaultConnection override for that step, which overrides the appsettings.Development.json placeholder via standard config layering without touching any committed appsettings file or affecting local test runs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FWyStNL2ZsjrS7FLd7xvvN
This commit is contained in:
@@ -128,12 +128,37 @@ jobs:
|
||||
needs: [changes, backend-build]
|
||||
if: needs.changes.outputs.backend == 'true'
|
||||
runs-on: ubuntu-latest
|
||||
# Added for SlpModularCms.Api.Tests (slpsoftware-api feature, NFR-CS-01): its pipeline
|
||||
# regression tests boot the real Api host via WebApplicationFactory, which unconditionally
|
||||
# runs CmsHost.ConfigurePipeline's startup migration (MigrateCoreDatabase) -- unlike every
|
||||
# other test project here, which mocks/uses EF Core InMemory and never touches a real
|
||||
# database. Without a real, reachable MariaDB, those tests fail on the connection itself
|
||||
# before any assertion runs.
|
||||
services:
|
||||
mariadb:
|
||||
image: mariadb:11
|
||||
env:
|
||||
MARIADB_ROOT_PASSWORD: ci_test_password
|
||||
MARIADB_DATABASE: SlpModularCms
|
||||
ports:
|
||||
- 3306:3306
|
||||
options: >-
|
||||
--health-cmd="mysqladmin ping --silent"
|
||||
--health-interval=10s
|
||||
--health-timeout=5s
|
||||
--health-retries=5
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_VERSION }}
|
||||
- name: Test (Release)
|
||||
env:
|
||||
# Overrides the placeholder in SlpModularCms.Api/appsettings.Development.json for this
|
||||
# CI run only -- ASP.NET Core's configuration layering applies environment variables
|
||||
# after appsettings.*.json, so this reaches SlpModularCms.Api.Tests' WebApplicationFactory
|
||||
# without touching any committed appsettings file.
|
||||
ConnectionStrings__DefaultConnection: "Server=127.0.0.1;Port=3306;Database=SlpModularCms;Uid=root;Pwd=ci_test_password"
|
||||
run: dotnet test SlpModularCms.sln -c Release
|
||||
|
||||
# --- Gate 3: vulnerability scan ---
|
||||
|
||||
Reference in New Issue
Block a user