Skip to content

Build and verify the History client's assets in CI - #1093

Merged
KevinJump merged 1 commit into
v18/mainfrom
chore/history-client-ci-v18
Sep 15, 2026
Merged

KevinJump merged 1 commit into
v18/mainfrom
chore/history-client-ci-v18

Conversation

@KevinJump

Copy link
Copy Markdown
Owner

Summary

uSync.History has no MSBuild target that builds its npm client automatically, unlike uSync.Backoffice.Management.Client — wwwroot is gitignored, so packaging (and the PR build job) silently used whatever (if anything) already happened to be on disk instead of a fresh build.

  • Add explicit npm ci / npm run build steps for uSync.History/history-client before every restore/pack step that touches it (dotnet-build.yml, prerelease.yml, release.yml).
  • Add a history-package job to dotnet-build.yml that packs uSync.History standalone and verifies every generated asset made it into the .nupkg unmodified (catches missing, empty, truncated, or stale chunks) via a SHA-256 comparison.

Ports the intent of v17's #1091 ("fix(history): build client assets before packaging" + the Windows packaged-asset smoke check), adapted to v18's current workflow shape (global.json/lts/* node conventions, tag-pinned actions matching the rest of the file rather than v17's SHA pins for that job).

Part 1 of bringing v18's and v17's CI workflows back in step — v18 has independently modernized other parts of these files (action pins, global.json dotnet pinning, MSBuild-integrated client build, restore config fix, docs paths-ignore, nightly versioning scheme) that haven't been ported back to v17 yet; that's tracked separately as a v17-side PR.

Test plan

  • npm ci && npm run build in uSync.History/history-client — produces wwwroot/App_Plugins/uSync.History/history.js and chunks
  • dotnet pack ./uSync.History/uSync.History.csproj -c Release ... — nupkg contains staticwebassets/App_Plugins/uSync.History/* matching the built assets
  • dotnet restore ./uSync.slnx --locked-mode -p:Configuration=Release — succeeds
  • dotnet build ./uSync.slnx -c Release --no-restore -p:ContinuousIntegrationBuild=true — succeeds, 0 errors

🤖 Generated with Claude Code

uSync.History has no MSBuild target that builds its npm client
automatically, unlike uSync.Backoffice.Management.Client - wwwroot is
gitignored, so packaging silently used whatever (if anything) was
already on disk. Add explicit npm ci/build steps before every
restore/pack that touches uSync.History, and a Windows job that packs
it standalone and verifies each generated asset made it into the
nupkg unmodified (catches missing, empty, truncated or stale chunks).

Ports the intent of v17's #1091, adapted to v18's current workflow
shape (global.json/lts-node conventions, no SHA pins).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant