Run FwHeadless unit tests in CI#2321
Conversation
|
Warning Review limit reached
More reviews will be available in 14 minutes and 40 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
C# FwHeadless Unit Tests48 tests 48 ✅ 16s ⏱️ Results for commit e91f7a4. ♻️ This comment has been updated with latest results. |
Enable the previously-commented test step in lexbox-fw-headless.yaml, pointing it at Testing.csproj where the actual FwHeadless test classes live, scoped via --filter "FullyQualifiedName~FwHeadless". https://claude.ai/code/session_01AMmw7JB5F7vBpQhum6mtKE
bd9b992 to
68950dd
Compare
MediaFileServiceTests in Testing.FwHeadless require a PostgreSQL instance on port 5433. The service was commented out alongside the test step it served; both need to be active together. https://claude.ai/code/session_01AMmw7JB5F7vBpQhum6mtKE
- Add backend/Testing/FwHeadless/** to the trigger paths so changes isolated to the FwHeadless tests run the workflow that now executes them. - Fix a pre-existing typo: backend/FwLiteProjectSync/FwLiteProjectSync/** was matching nothing on disk; the correct path is backend/FwLite/FwLiteProjectSync/**. https://claude.ai/code/session_01AMmw7JB5F7vBpQhum6mtKE
Why
The absence of this step is what allowed develop to break. PR #2319 is the kind of reactive fix this PR is designed to prevent: a constructor change to
CrdtFwdataProjectSyncService(in #2146) silently invalidated everySyncWorkerTestinTesting.csproj, and no PR-time workflow ran those tests, so the breakage landed on develop and only surfaced on a later CI run.The dependency that the path filters don't account for:
Three workflows could have caught it; none did:
develop-api.yamlexcludesbackend/FwLite/**from its path filter, so it skipped a PR that only touched FwLite.fw-lite.yamlran, but testsFwLiteOnly.slnf, which doesn't includeTesting.csproj.develop-fw-headless.yamldid trigger — but the test step inlexbox-fw-headless.yamlwas commented out, with a TODO that's no longer accurate ("Write FwHeadless unit tests" — they already exist, just underTesting.csprojrather than a hypotheticalFwHeadless.Tests.csproj).This PR fixes #3 — the cheapest of the three, since
develop-fw-headless.yamlis already firing for FwLite-touching PRs.What
lexbox-fw-headless.yaml.dotnet testatbackend/Testing/Testing.csproj(where the tests actually live) instead ofbackend/FwHeadless/FwHeadless.csproj.--filter "Category!=Integration&Category!=FlakyIntegration&FullyQualifiedName~FwHeadless"so only FwHeadless-related unit tests run on this workflow.dotnet-fw-headless-unit-test-results) and the check (C# FwHeadless Unit Tests) to avoid collision withlexbox-api.yaml, which uses the same default names when both workflows run together (e.g. inrelease-pipeline.yaml).Test plan
SyncWorkerTestsand otherTesting.FwHeadless.*tests.dotnet-fw-headless-unit-test-results.lexbox-api.yamlon the release pipeline.https://claude.ai/code/session_01AMmw7JB5F7vBpQhum6mtKE
Generated by Claude Code