You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ci-workflows-release-pr-validation.plan.md
+56Lines changed: 56 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,7 @@ Reshape the repository CI/CD so `PrompterLive` has:
30
30
- A dedicated PR validation workflow has been added locally but not pushed yet.
31
31
- The release workflow has been expanded locally into build/test -> publish -> GitHub Release -> GitHub Pages stages, but GitHub has not run that shape yet.
32
32
- Workflow naming is being normalized across repository automation.
33
+
- GitHub run `23814159539` proved that `dotnet test PrompterLive.slnx --no-build` is not a safe CI test shape for this repo because it launches the UI browser suite alongside the supporting test assemblies.
33
34
34
35
## Constraints
35
36
@@ -81,6 +82,48 @@ Quality bar:
81
82
- Intended fix path: keep `PAGES_BASE_PATH` at `/`, preserve root-relative asset loading, and ship `CNAME` in the Pages artifact.
-[ ]`CI browser-suite contention`: GitHub run `23814159539` failed while `dotnet test PrompterLive.slnx --no-build` launched the browser suite in parallel with the supporting test assemblies.
86
+
- Root cause note: `PrompterLive.App.UITests` self-hosts shared WASM build assets and the repo rules require it to own those assets inside a dedicated `dotnet test` process.
87
+
- Intended fix path: split CI validation into sequential project-scoped `dotnet test` steps and keep the browser suite isolated after the supporting suites pass.
- The failing list spans library, editor, teleprompter, navigation, media, and go-live flows, which points to shared browser-harness contention rather than a single routed feature regression.
-`dotnet test /Users/ksemenenko/Developer/PrompterLive/PrompterLive.slnx`
163
206
-`dotnet format /Users/ksemenenko/Developer/PrompterLive/PrompterLive.slnx`
207
+
- GitHub run `23814159539` failed in `Build And Test` because solution-level `dotnet test` launched `PrompterLive.App.UITests` alongside the supporting test assemblies; the next fix is to split CI test execution into sequential project-scoped steps.
208
+
- Updated `.github/workflows/pr-validation.yml` and `.github/workflows/deploy-github-pages.yml` so CI now runs:
209
+
-`dotnet test tests/PrompterLive.Core.Tests/PrompterLive.Core.Tests.csproj --no-build`
210
+
-`dotnet test tests/PrompterLive.App.Tests/PrompterLive.App.Tests.csproj --no-build`
211
+
-`dotnet test tests/PrompterLive.App.UITests/PrompterLive.App.UITests.csproj --no-build`
212
+
- Local validation for the split test shape passed:
Copy file name to clipboardExpand all lines: docs/Architecture.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -109,8 +109,8 @@ flowchart LR
109
109
-`Directory.Packages.props` is the canonical source for NuGet package versions.
110
110
-`Directory.Build.props` is the canonical source for shared target framework, analyzer policy, and assembly/app version settings.
111
111
-`global.json` pins the expected .NET SDK for local and CI builds.
112
-
-`.github/workflows/pr-validation.yml` is the canonical pull-request validation flow for repo build and test gates.
113
-
-`.github/workflows/deploy-github-pages.yml` is the canonical release pipeline for the standalone WASM app: build and test, resolve the release version from `Directory.Build.props`, publish the release artifact, publish the GitHub Release, and deploy GitHub Pages on the custom-domain root.
112
+
-`.github/workflows/pr-validation.yml` is the canonical pull-request validation flow for repo build and test gates; it runs the browser-realistic Playwright suite in a dedicated `dotnet test` step after the non-browser test projects finish.
113
+
-`.github/workflows/deploy-github-pages.yml` is the canonical release pipeline for the standalone WASM app: build and test, resolve the release version from `Directory.Build.props`, publish the release artifact, publish the GitHub Release, and deploy GitHub Pages on the custom-domain root. Its validation job isolates `PrompterLive.App.UITests` from the supporting test projects so the self-hosted browser harness owns the test assets during its run.
114
114
- Vendored browser SDK release pins live in `vendored-streaming-sdks.json`, and the exact release sync or watch flow is documented in `docs/Features/VendoredStreamingSdkReleases.md`.
Copy file name to clipboardExpand all lines: docs/Features/AppVersioningAndGitHubPages.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,12 +55,15 @@ flowchart LR
55
55
- The workflow copies `index.html` to `404.html` so client-side routes keep working on repository Pages hosting.
56
56
-`.nojekyll` must be present in the Pages artifact so framework and `_content` assets are served as-is.
57
57
- The release workflow must run build and tests before it publishes the release asset, GitHub Release, and GitHub Pages deployment.
58
+
- The Playwright browser suite must run in its own `dotnet test` step after the supporting test projects, not inside a solution-wide parallel test invocation, because the suite self-hosts shared WASM assets on a dynamic loopback origin.
-`.github/workflows/pr-validation.yml` runs `dotnet test PrompterLive.slnx --no-build`
64
+
-`.github/workflows/pr-validation.yml` runs `dotnet test tests/PrompterLive.Core.Tests/PrompterLive.Core.Tests.csproj --no-build`
65
+
-`.github/workflows/pr-validation.yml` runs `dotnet test tests/PrompterLive.App.Tests/PrompterLive.App.Tests.csproj --no-build`
66
+
-`.github/workflows/pr-validation.yml` runs `dotnet test tests/PrompterLive.App.UITests/PrompterLive.App.UITests.csproj --no-build`
64
67
-`dotnet test /Users/ksemenenko/Developer/PrompterLive/tests/PrompterLive.App.Tests/PrompterLive.App.Tests.csproj --filter "FullyQualifiedName~SettingsInteractionTests.AboutSection_RendersInjectedAppVersionMetadata"`
65
68
-`dotnet test /Users/ksemenenko/Developer/PrompterLive/tests/PrompterLive.App.UITests/PrompterLive.App.UITests.csproj --filter "FullyQualifiedName~TeleprompterSettingsFlowTests.TeleprompterAndSettingsScreens_RespondToCoreControls"`
0 commit comments