1919 services :
2020 ydb :
2121 image : ydbplatform/local-ydb:${{ matrix.ydb-version }}
22- ports :
23- - 2135:2135
24- - 2136:2136
25- - 8765:8765
22+ ports : [ "2135:2135", "2136:2136", "8765:8765" ]
2623 env :
2724 YDB_LOCAL_SURVIVE_RESTART : true
2825 options : ' --name ydb-local -h localhost'
@@ -40,24 +37,54 @@ jobs:
4037 working-directory : ./src/Ydb.Sdk/test/Ydb.Sdk.Ado.Tests
4138 run : |
4239 docker cp ydb-local:/ydb_certs/ca.pem ~/
43- dotnet test --logger "GitHubActions;report-warnings=false"
40+ dotnet test \
41+ --logger "GitHubActions;report-warnings=false" \
42+ --logger "trx;LogFileName=ado.trx"
4443 continue-on-error : true
4544
4645 - name : Run ADO.NET Specification Tests
4746 working-directory : ./src/Ydb.Sdk/test/Ydb.Sdk.Ado.Specification.Tests
48- run : dotnet test --logger "GitHubActions;report-warnings=false"
47+ run : dotnet test --logger "GitHubActions;report-warnings=false" --logger "trx;LogFileName=spec.trx"
4948 continue-on-error : true
5049
5150 - name : Run ADO.NET Dapper Tests
5251 working-directory : ./src/Ydb.Sdk/test/Ydb.Sdk.Ado.Dapper.Tests
53- run : dotnet test --logger "GitHubActions;report-warnings=false"
52+ run : dotnet test --logger "GitHubActions;report-warnings=false" --logger "trx;LogFileName=dapper.trx"
5453 continue-on-error : true
5554
5655 - name : Run Topic Tests
5756 working-directory : ./src/Ydb.Sdk/test/Ydb.Sdk.Topic.Tests
58- run : dotnet test --logger "GitHubActions;report-warnings=false"
57+ run : dotnet test --logger "GitHubActions;report-warnings=false" --logger "trx;LogFileName=topic.trx"
5958 continue-on-error : true
6059
60+ - name : Publish combined test summary table
61+ if : always()
62+ run : |
63+ echo '| Test Suite | ✓ Passed | ✗ Failed | ↻ Skipped | ∑ Total | ⏱ Elapsed |' >> $GITHUB_STEP_SUMMARY
64+ echo '|:---------- | -------: | -------: | --------: | ------: | --------: |' >> $GITHUB_STEP_SUMMARY
65+
66+ summarize () {
67+ local name="$1"; local path="$2"
68+ if [ -f "$path" ]; then
69+ local counters
70+ counters=$(grep '<Counters ' "$path" | head -1 || true)
71+ local passed failed skipped total duration
72+ passed=$(echo "$counters" | sed -n 's/.*passed="\([0-9]*\)".*/\1/p'); [ -z "$passed" ] && passed=0
73+ failed=$(echo "$counters" | sed -n 's/.*failed="\([0-9]*\)".*/\1/p'); [ -z "$failed" ] && failed=0
74+ skipped=$(echo "$counters" | sed -n 's/.*skipped="\([0-9]*\)".*/\1/p'); [ -z "$skipped" ] && skipped=0
75+ total=$(echo "$counters" | sed -n 's/.*total="\([0-9]*\)".*/\1/p'); [ -z "$total" ] && total=0
76+ duration=$(grep -oP 'duration="\K[0-9\.]+' "$path" | head -1); [ -z "$duration" ] && duration='-'
77+ echo "| $name | $passed | $failed | $skipped | $total | ${duration}s |" >> $GITHUB_STEP_SUMMARY
78+ else
79+ echo "| $name | 0 | 0 | 0 | 0 | - |" >> $GITHUB_STEP_SUMMARY
80+ fi
81+ }
82+
83+ summarize 'ADO.NET' './src/Ydb.Sdk/test/Ydb.Sdk.Ado.Tests/ado.trx'
84+ summarize 'Specification' './src/Ydb.Sdk/test/Ydb.Sdk.Ado.Specification.Tests/spec.trx'
85+ summarize 'Dapper' './src/Ydb.Sdk/test/Ydb.Sdk.Ado.Dapper.Tests/dapper.trx'
86+ summarize 'Topic' './src/Ydb.Sdk/test/Ydb.Sdk.Topic.Tests/topic.trx'
87+
6188 run-examples :
6289 runs-on : ubuntu-22.04
6390 strategy :
0 commit comments