Skip to content

Update NuGet Dependencies and Add JSON Schema Support for Draft 2020 & Draft-07 - DataEngine #427

Update NuGet Dependencies and Add JSON Schema Support for Draft 2020 & Draft-07 - DataEngine

Update NuGet Dependencies and Add JSON Schema Support for Draft 2020 & Draft-07 - DataEngine #427

Workflow file for this run

name: .NET
on:
workflow_dispatch:
pull_request:
branches:
- 'main'
- 'develop'
- 'release/**'
- 'hotfix/**'
push:
branches:
- 'main'
- 'develop'
- 'release/**'
- 'hotfix/**'
permissions:
contents: read
env:
BUILD_CONFIGURATION: "Release"
SOLUTION_PATH: source/AAS.TwinEngine.DataEngine.sln
TEST_PROJECT: source/AAS.TwinEngine.DataEngine.UnitTests/AAS.TwinEngine.DataEngine.UnitTests.csproj
MODULE_TEST_PROJECT: source/AAS.TwinEngine.DataEngine.ModuleTests/AAS.TwinEngine.DataEngine.ModuleTests.csproj
jobs:
build-test:
name: Build & Test
runs-on: ubuntu-latest
permissions:
contents: read
checks: write
pull-requests: write
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup .NET
uses: actions/setup-dotnet@c2fa09f4bde5ebb9d1777cf28262a3eb3db3ced7 # v5.2.0
with:
dotnet-version: "8.0.x"
- name: Restore
run: dotnet restore ${{ env.SOLUTION_PATH }} --locked-mode
- name: Build
run: dotnet build ${{ env.SOLUTION_PATH }} --configuration ${{ env.BUILD_CONFIGURATION }} --no-restore
- name: Run Unit Tests
run: dotnet test ${{ env.TEST_PROJECT }} --configuration Release --no-build --logger "trx;LogFileName=unit_test_results.trx" --collect:"XPlat Code Coverage" --settings source/coverlet.runsettings
- name: Run Module Tests
run: dotnet test ${{ env.MODULE_TEST_PROJECT }} --configuration Release --no-build --logger "trx;LogFileName=module_test_results.trx" --collect:"XPlat Code Coverage" --settings source/coverlet.runsettings
- name: Publish Test Results
uses: dorny/test-reporter@3d76b34a4535afbd0600d347b09a6ee5deb3ed7f # v2.6.0
id: test-results
if: github.event.pull_request.head.repo.fork == false
with:
name: Test Results (Unit & Module)
path: "**/*_test_results.trx"
reporter: dotnet-trx
- name: Combine Reports (Test Results)
if: github.event.pull_request.head.repo.fork == false
run: |
echo "# Test & Coverage Report" > results.md
echo "" >> results.md
echo "## Test Results Summary" >> results.md
echo "" >> results.md
echo "| Metric | Count |" >> results.md
echo "|--------|-------|" >> results.md
echo "| ✅ Passed | ${{ steps.test-results.outputs.passed }} |" >> results.md
echo "| ❌ Failed | ${{ steps.test-results.outputs.failed }} |" >> results.md
echo "| ⏭️ Skipped | ${{ steps.test-results.outputs.skipped }} |" >> results.md
echo "" >> results.md
echo "[View Detailed Test Results](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})" >> results.md
echo "" >> results.md
echo "---" >> results.md
echo "" >> results.md
- name: Code Coverage Report - Unit Tests
if: github.event.pull_request.head.repo.fork == false
uses: irongut/CodeCoverageSummary@51cc3a756ddcd398d447c044c02cb6aa83fdae95 # v1.3.0
with:
filename: "source/AAS.TwinEngine.DataEngine.UnitTests/TestResults/*/coverage.cobertura.xml"
badge: false
fail_below_min: true
format: markdown
hide_branch_rate: false
hide_complexity: false
indicators: true
output: both
thresholds: "80 80"
- name: Combine Reports (Unit Test Coverage Results)
if: github.event.pull_request.head.repo.fork == false
run: |
echo "## Code Coverage" >> results.md
echo "" >> results.md
echo "### Unit Tests Coverage" >> results.md
cat code-coverage-results.md >> results.md
echo "" >> results.md
- name: Code Coverage Report - Module Tests
if: github.event.pull_request.head.repo.fork == false
uses: irongut/CodeCoverageSummary@51cc3a756ddcd398d447c044c02cb6aa83fdae95 # v1.3.0
with:
filename: "source/AAS.TwinEngine.DataEngine.ModuleTests/TestResults/*/coverage.cobertura.xml"
badge: false
fail_below_min: false
format: markdown
hide_branch_rate: false
hide_complexity: false
indicators: true
output: both
- name: Combine Reports (Module Test Coverage Results)
if: github.event.pull_request.head.repo.fork == false
run: |
echo "### Module Tests Coverage" >> results.md
cat code-coverage-results.md >> results.md
- name: Add PR Comment
if: github.event.pull_request.head.repo.fork == false
uses: marocchino/sticky-pull-request-comment@70d2764d1a7d5d9560b100cbea0077fc8f633987 # v3.0.2
with:
recreate: true
path: results.md
- name: Upload TRX as artifact
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: dotnet-test-results
path: "**/*_test_results.trx"
- name: Upload Code Coverage as artifact
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: dotnet-code-coverage
path: "**/coverage.cobertura.xml"