Modernize tests, remove Tester project, and automate amalgamation pipeline

This commit is contained in:
root
2026-02-26 09:20:27 +01:00
parent 16ac17cd56
commit fcf44df4ad
30 changed files with 17651 additions and 19236 deletions

View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
IMAGE="${DOTNET_IMAGE:-mcr.microsoft.com/dotnet/sdk:10.0}"
docker run --rm \
-v "${ROOT_DIR}:/workspace" \
-w /workspace \
"${IMAGE}" \
bash -lc "
set -euo pipefail
dotnet --info
dotnet restore DynamORM.sln
dotnet build DynamORM.sln -c Release --no-restore
dotnet test DynamORM.Tests/DynamORM.Tests.csproj -c Release --no-build
dotnet pack DynamORM/DynamORM.csproj -c Release --no-build -o /workspace/artifacts/nuget
"

11
scripts/docker/ci-local.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
"${ROOT_DIR}/scripts/docker/generate-amalgamation.sh"
"${ROOT_DIR}/scripts/docker/build-and-test.sh"
"${ROOT_DIR}/scripts/docker/mono-net40-smoke.sh"
echo "All docker checks completed."

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
IMAGE="${DOTNET_IMAGE:-mcr.microsoft.com/dotnet/sdk:10.0}"
docker run --rm \
-v "${ROOT_DIR}:/workspace" \
-w /workspace \
"${IMAGE}" \
bash -lc "
set -euo pipefail
dotnet run --project AmalgamationTool/AmalgamationTool.csproj -- DynamORM AmalgamationTool/DynamORM.Amalgamation.cs
"

View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
IMAGE="${MONO_IMAGE:-mono:6.12}"
docker run --rm \
-v "${ROOT_DIR}:/workspace" \
-w /workspace \
"${IMAGE}" \
bash -lc "
set -euo pipefail
mono --version
mcs -langversion:latest -target:library -sdk:4 \
-r:System \
-r:System.Core \
-r:System.Data \
-r:Microsoft.CSharp \
-out:/tmp/DynamORM.Net40.Smoke.dll \
AmalgamationTool/DynamORM.Amalgamation.cs
ls -lh /tmp/DynamORM.Net40.Smoke.dll
"