mirror of
https://github.com/azaion/satellite-provider.git
synced 2026-06-27 05:11:14 +00:00
[AZ-1132] Use system protoc in run-tests SDK container
Install protobuf-compiler and set PROTOBUF_PROTOC on arm64 where Grpc.Tools bundled protoc segfaults; align Woodpecker. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -12,5 +12,7 @@ steps:
|
||||
- name: unit-tests
|
||||
image: mcr.microsoft.com/dotnet/sdk:10.0
|
||||
commands:
|
||||
- apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends protobuf-compiler && rm -rf /var/lib/apt/lists/*
|
||||
- export PROTOBUF_PROTOC=/usr/bin/protoc
|
||||
- dotnet restore SatelliteProvider.sln
|
||||
- dotnet test SatelliteProvider.Tests/SatelliteProvider.Tests.csproj --no-restore --configuration Release --logger "console;verbosity=normal" --logger "trx;LogFileName=test-results.trx" --results-directory /app/test-results
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
| Task | Status | Files Modified | Tests | AC Coverage | Issues |
|
||||
|------|--------|---------------|-------|-------------|--------|
|
||||
| AZ-1132 | Done | 5 files | Validator unit: 144/144 PASS (host) | 5/5 ACs covered | Docker `protoc` segfault blocks `./scripts/run-tests.sh` on this host — Step 11 gate |
|
||||
| AZ-1132 | Done | 5 files | Full suite PASS (`run-tests.sh`, 457 unit + integration) | 5/5 ACs covered | None |
|
||||
|
||||
## AC Test Coverage
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
## Current Step
|
||||
flow: existing-code
|
||||
step: 10
|
||||
name: Implement
|
||||
status: in_progress
|
||||
step: 11
|
||||
name: Run Tests
|
||||
status: completed
|
||||
sub_step:
|
||||
phase: 1
|
||||
name: parse
|
||||
phase: 0
|
||||
name: awaiting-invocation
|
||||
detail: ""
|
||||
retry_count: 0
|
||||
cycle: 15
|
||||
|
||||
+13
-4
@@ -63,6 +63,17 @@ EOF
|
||||
}
|
||||
ensure_dev_cert
|
||||
|
||||
# Grpc.Tools' bundled linux_arm64/protoc segfaults inside the stock sdk image;
|
||||
# match Api/IntegrationTests Dockerfiles (see environment.md).
|
||||
sdk_container_sh() {
|
||||
docker run --rm -v "$PROJECT_ROOT:/src" -w /src mcr.microsoft.com/dotnet/sdk:10.0 \
|
||||
sh -c 'apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends protobuf-compiler \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& export PROTOBUF_PROTOC=/usr/bin/protoc \
|
||||
&& '"$1"
|
||||
}
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Usage: $(basename "$0") [--unit-only | --smoke | --full] [--skip-format] [--keep-state]
|
||||
@@ -131,8 +142,7 @@ fi
|
||||
|
||||
if [[ "$mode" == "unit" ]]; then
|
||||
echo "Running unit tests only..."
|
||||
docker run --rm -v "$PROJECT_ROOT:/src" -w /src mcr.microsoft.com/dotnet/sdk:10.0 \
|
||||
sh -c "dotnet restore SatelliteProvider.sln && dotnet test SatelliteProvider.Tests/SatelliteProvider.Tests.csproj --no-restore --configuration Release --collect:'XPlat Code Coverage' --results-directory /src/TestResults --logger 'console;verbosity=normal'"
|
||||
sdk_container_sh "dotnet restore SatelliteProvider.sln && dotnet test SatelliteProvider.Tests/SatelliteProvider.Tests.csproj --no-restore --configuration Release --collect:'XPlat Code Coverage' --results-directory /src/TestResults --logger 'console;verbosity=normal'"
|
||||
echo ""
|
||||
echo "=== Unit tests complete (coverage written to ./TestResults/) ==="
|
||||
exit 0
|
||||
@@ -174,8 +184,7 @@ export JWT_ISSUER
|
||||
export JWT_AUDIENCE
|
||||
|
||||
echo "Step 1: Unit tests"
|
||||
docker run --rm -v "$PROJECT_ROOT:/src" -w /src mcr.microsoft.com/dotnet/sdk:10.0 \
|
||||
sh -c "dotnet restore SatelliteProvider.sln && dotnet test SatelliteProvider.Tests/SatelliteProvider.Tests.csproj --no-restore --configuration Release --collect:'XPlat Code Coverage' --results-directory /src/TestResults --logger 'console;verbosity=normal'"
|
||||
sdk_container_sh "dotnet restore SatelliteProvider.sln && dotnet test SatelliteProvider.Tests/SatelliteProvider.Tests.csproj --no-restore --configuration Release --collect:'XPlat Code Coverage' --results-directory /src/TestResults --logger 'console;verbosity=normal'"
|
||||
|
||||
echo ""
|
||||
echo "Step 2: Integration tests (Docker Compose, mode=$mode, keep_state=$keep_state)"
|
||||
|
||||
Reference in New Issue
Block a user