ci: Build frontend assets before packing in release workflow#303
Merged
Conversation
The release workflow only ran `dotnet build`, and the .csproj assumes the client assets are already built to wwwroot (the .esproj has ShouldRunBuildScript/ShouldRunNpmInstall disabled). The compiled bundle is committed and was last rebuilt for 5.4.0, so every release since shipped a stale frontend — e.g. 5.4.1's index.js is byte-identical to 5.4.0's and is missing the merged 5.4.x fixes (#293, #294, #297, ...). Add a Node.js setup step plus `npm ci && npm run build` before the dotnet build so the package always contains a freshly compiled frontend. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The release workflow only runs
dotnet build, and the RCL.csprojassumes the client assets are already built to wwwroot (the.esprojsetsShouldRunBuildScript/ShouldRunNpmInstalltofalse). The compiled bundle is committed to the repo, andgit logshows it was last rebuilt ateda75ac "Set version to '5.4.0'".As a result every release since 5.4.0 has shipped a stale frontend bundle. As reported on #293 and #300, 5.4.1's
index.jsis byte-identical (same SHA256) to 5.4.0's and is missing the merged 5.4.x source fixes (#293, #294, #297, …). The TypeScript fixes were merged but never recompiled/committed.Fix
Add a Node.js setup step (Node 22.12.0, matching
package.jsonengines) plusnpm ci && npm run buildin the UI project before thedotnet build, so the package always contains a freshly compiled frontend and the bundle can't silently go stale again.Notes
npm ciagainst the trackedpackage-lock.json, with npm caching keyed on it.wwwrootbundle and.gitignoreit, now that CI builds it — out of scope here.🤖 Generated with Claude Code