Skip to content

fix(oauth): real app identifiers in known-client directory; fix Tray … #612

fix(oauth): real app identifiers in known-client directory; fix Tray …

fix(oauth): real app identifiers in known-client directory; fix Tray … #612

Workflow file for this run

name: Tests
on:
pull_request:
push:
branches: [main]
permissions:
contents: read
concurrency:
group: tests-${{ github.ref }}
cancel-in-progress: true
jobs:
unit:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
dotnet-version: "10.0"
- uses: actions/setup-node@v4
with:
node-version: "24"
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Cache NuGet
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: nuget-${{ runner.os }}-${{ hashFiles('**/*.csproj', 'Directory.Packages.props') }}
- name: Test
run: |
# Build per-project to avoid Windows-only projects (Desktop, Widgets)
for proj in tests/Unit/*/; do
csproj=$(find "$proj" -maxdepth 1 -name "*.csproj" | head -1)
[ -z "$csproj" ] && continue
dotnet test "$csproj" \
--filter "Category!=Integration&Category!=Performance&Category!=E2E" \
--logger "trx;LogFileName=unit.trx" \
-p:GenerateNSwagClient=false \
|| exit 1
done
- uses: actions/upload-artifact@v4
if: failure()
with:
name: unit-trx
path: "**/*.trx"
# Database integration tests: bare-Postgres Testcontainers (no Aspire), so they
# run reliably on GitHub-hosted runners where Docker is available. Other
# integration projects stay deferred until their fixtures/references are fixed.
integration-db:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
dotnet-version: "10.0"
- name: Cache NuGet
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: nuget-${{ runner.os }}-${{ hashFiles('**/*.csproj', 'Directory.Packages.props') }}
- name: Integration tests (Infrastructure.Data — RLS + DataProtection)
run: |
dotnet test tests/Integration/Nocturne.Infrastructure.Data.Tests/Nocturne.Infrastructure.Data.Tests.csproj \
--filter "Category!=Performance&Category!=E2E" \
--logger "trx;LogFileName=integration-db.trx" \
-p:GenerateNSwagClient=false \
|| exit 1
- uses: actions/upload-artifact@v4
if: failure()
with:
name: integration-db-trx
path: "**/*.trx"
# E2E tests deferred: Aspire.Hosting.Testing hangs on GitHub Actions runners —
# DCP resource orchestration never completes. Tests pass locally. Revisit when
# Aspire CI support matures or move to a self-hosted runner.