Skip to content

Auto-generated baselines by 1ES Pipeline Templates - #25

Merged
Alexandre Zollinger Chohfi (azchohfi) merged 2 commits into
mainfrom
users/merlinbot/1es-pt-auto-baselining-pr
Oct 15, 2025
Merged

Auto-generated baselines by 1ES Pipeline Templates#25
Alexandre Zollinger Chohfi (azchohfi) merged 2 commits into
mainfrom
users/merlinbot/1es-pt-auto-baselining-pr

Conversation

@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

No description provided.

@azchohfi
Alexandre Zollinger Chohfi (azchohfi) merged commit a25bd0c into main Oct 15, 2025
7 checks passed
@azchohfi
Alexandre Zollinger Chohfi (azchohfi) deleted the users/merlinbot/1es-pt-auto-baselining-pr branch October 15, 2025 23:09
Alexandre Zollinger Chohfi (azchohfi) added a commit that referenced this pull request Jul 15, 2026
…d float resolution; harden nuspec/test/doc gaps

Follow-up to the previous float-aware conflict fix, addressing six review findings:

- FindBestMatch treats a float as a preference, not a hard constraint: for a
  dependency declared 1.* whose only available version is 2.0.0 it returns 2.0.0,
  installing an out-of-band transitive package. Re-check the selected version with
  the float-aware predicate in ResolveDependencyVersionAsync so an out-of-band
  match is rejected and surfaced as unresolved instead of silently installed.

- RangeSatisfiesWithFloat now defers to FloatRange.Satisfies instead of a
  hand-rolled numeric ceiling. The numeric ceiling only approximated the band and
  ignored prerelease eligibility, so a stable 1.* wrongly accepted 1.5.0-preview.

- RangesHaveCommonVersion no longer reduces floating constraints to numeric
  bounds (which lost prerelease/prefix semantics and reported disjoint
  1.2.3-beta.* / 1.2.3-rc.* as satisfiable). It now tests each range's inclusive
  minimum against every range with the full float-aware predicate. Deletes the
  now-unused GetEffectiveBounds/TryGetFloatUpperBound helpers (net simpler).

- An unreadable .nuspec is now recorded in dependencyFailures rather than swallowed.
  A package that declares no dependencies reads back as an empty set without
  throwing, so a throw means the dependency graph is genuinely unknown and must
  fail the install loudly (matching the resolution/install error paths) instead of
  reporting success with a possibly-incomplete graph.

- The test host now sets NuGet.UseSystemTextJsonDeserialization=true so the NuGet
  integration tests exercise the same System.Text.Json/AOT deserialization path
  the published CLI uses, not the default Newtonsoft.Json reflection path.

- Documented that Package Source Mapping governs where a package is downloaded
  from, not one already in the global packages folder (NuGet and winapp's cache
  check reuse a completed package regardless of origin feed), so mapping-for-trust
  needs a clean or repository-scoped globalPackagesFolder.

Added regression rows for disjoint prerelease-prefix floats and the stable-float-
excludes-prerelease case. NuGet-area tests 131/131 pass (skipped:0), 0 warnings.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.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