Repository navigation
Fix the consumer smoke test when given a pre-built feed - #11
Merged
Merged
Conversation
The release workflow passes its pack output as the feed, and the restore failed there with NU1101 on Npgsql.EntityFrameworkCore.PostgreSQL and EF Core Abstractions. `dotnet add package --source <feed>` restricts the whole restore to that source, transitive dependencies included. It only ever worked on PRs by accident: when the script packs, that pack restores the solution's dependencies into the same private NUGET_PACKAGES folder, so the transitive packages were already present by the time the consumer restored. Passing in a feed skips the pack and the crutch with it — which is why the PR job could not have caught this and the release job did. Replaced with packageSourceMapping, which expresses the actual requirement rather than approximating it: EFCore.ComplexIndexes* resolves from the local feed and nowhere else, everything else from nuget.org. Ordering alone would not do, because these versions also exist on nuget.org and a published package satisfying the restore means testing something unrelated to the working tree. Also stop swallowing the output of every step: the NU1101 was invisible in CI behind a bare "exit code 1". Output is captured and printed only on failure. Verified in both modes, and the sabotage check still fails as it should. Co-Authored-By: Claude Opus 5 <[email protected]>
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.
The
v5.0.3release run failed at the consumer smoke test. Nothing was published —Publishwas skipped and the gate never opened.Cause
dotnet add package --source <feed>restricts the entire restore to that source, transitive dependencies included, soNpgsql.EntityFrameworkCore.PostgreSQLandMicrosoft.EntityFrameworkCore.Abstractionsfailed with NU1101.It passed on PRs by accident. When the script packs its own feed, that pack restores the solution's dependencies into the same private
NUGET_PACKAGESfolder, so the transitive packages were already cached when the consumer restored. The release workflow passes a pre-built feed, skips the pack, and loses the crutch. The PR job structurally could not have caught this.Fix
packageSourceMapping—EFCore.ComplexIndexes*from the local feed only, everything else from nuget.org. Source ordering would not be enough: these versions also exist on nuget.org, and a published package satisfying the restore would mean testing something unrelated to the working tree.Also removed the blanket
>/dev/null. The NU1101 was invisible in CI behind a bareexit code 1; output is now captured and printed on failure.Verification
Re-releasing
v5.0.3needs to be deleted and re-pushed onto the commit that contains this fix.