Skip to content

LT-22728: Scope local libraries to one build - #1105

Open
johnml1135 wants to merge 4 commits into
mainfrom
LT-22728-local-library-selection
Open

LT-22728: Scope local libraries to one build#1105
johnml1135 wants to merge 4 commits into
mainfrom
LT-22728-local-library-selection

Conversation

@johnml1135

@johnml1135 johnml1135 commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Local SIL libraries now last for one FieldWorks build only.

\.\build.ps1 -LocalLibraries machine rebuilds and uses Machine. The next
build without that option automatically removes local Machine packages and uses
the published package. Published HTTP packages stay cached, so ordinary builds
do not redownload them every time.

Review these:

  • build.ps1: the named libraries are the complete local set for this build.
  • Build/LocalLibraries.psm1: ordinary cleanup removes only filesystem-sourced
    packages; selected libraries also evict same-version published cache entries.
  • Build/LocalLibraries.Tests.ps1: covers all five supported library families
    and the cleanup boundaries.

No user-level NuGet source or local version is persisted. The intentional
Manage-LocalLibraries.ps1 -Library/-Version workflow still works.

Proof: local Machine 3.9.2 build passed, then an ordinary build removed 2
cache entries and 4 feed packages, restored the different nuget.org package,
and passed. Luna review: GO. Final CI: 5,775 passed, 0 failed; all checks
green.

Next: verify the cleanup boundary, then approve.

LT-22728


This change is Reviewable

Capture the one-invocation selection contract and test-first plan.

Refs LT-22728
Pack explicitly selected SIL dependencies before restore and pass their
versions as global properties instead of editing SilVersions.props.

Remove filesystem-sourced NuGet cache entries and managed local feed
packages before each build while retaining published package caches.

Refs LT-22728
Keep the durable workflow in the architecture guide and carry review
decisions and verification evidence in the pull request.

Refs LT-22728
@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown

NUnit Tests

    1 files  ±0      1 suites  ±0   10m 58s ⏱️ +12s
5 856 tests ±0  5 775 ✅ ±0  81 💤 ±0  0 ❌ ±0 
5 865 runs  ±0  5 784 ✅ ±0  81 💤 ±0  0 ❌ ±0 

Results for commit 260593e. ± Comparison against base commit 064f6a2.

♻️ This comment has been updated with latest results.

Add the local feed through RestoreAdditionalProjectSources so the repository's
configured nuget.org source remains valid during solution restore.

Cover selected-family eviction of same-version published cache entries.
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 38.34%. Comparing base (064f6a2) to head (260593e).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1105      +/-   ##
==========================================
- Coverage   38.34%   38.34%   -0.01%     
==========================================
  Files        1507     1507              
  Lines      350586   350586              
  Branches    40294    40294              
==========================================
- Hits       134448   134445       -3     
- Misses     186911   186915       +4     
+ Partials    29227    29226       -1     

see 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

2 participants