Point the scenarios at the package ids and version line that actually ship - #12
Merged
Merged
Conversation
… ship All three scenarios were failing. Two separate causes. The `minimal` and `transition-shims` scenarios floated at `2026.1.*-*`. That version line was retired when the repo moved back to `10.x`, and the last `2026.1.0` prereleases have now been deleted from the feed, so the range had no candidates left and restore failed with NU1102. They now float at `10.*-*`, which tracks the whole `10.x` line and does not need editing when the minor moves. Floating is kept deliberately, per the locked decision in docs/DESIGN.md. The `tool-manifest` scenario had the package ids inverted. It treated `Fallout.GlobalTools` as the published id and `fallout.globaltool` as retired, but `Fallout.Cli.csproj` sets `<PackageId>Fallout.GlobalTool</PackageId>` again, so the singular id is canonical. The plural id got one nuget.org release (`10.4.0-rc.4`, since unlisted), which is why `dotnet tool update` could not find a version. The two roles are swapped back, so the scenario tracks the singular id and reports on the retired ones. This is exactly the regression the scenario exists to catch, in the opposite direction. Also tighten the tool-list assertion to `^fallout\.globaltool[[:space:]]`. The old `^fallout\.globaltool` prefix match would have accepted the plural id and passed on the wrong package. Drop the now-stale `fallout.globaltools` source mapping. The `Fallout.*` pattern already routes the tool to the GitHub Packages feed. Co-Authored-By: Claude Opus 5 (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.
Fixes all three canary scenarios. They were red for two unrelated reasons.
What changed
minimal+transition-shimsfloat at10.*-*instead of2026.1.*-*. The2026.1.xline was retired when the repo moved back to10.x, and the last2026.1.0prereleases have since been deleted from the feed, so the range had no candidates and restore failed withNU1102.10.*-*tracks the whole10.xline, so it survives10.4→10.5without an edit. Floating is kept on purpose, per the locked decision indocs/DESIGN.md.tool-manifesttracksFallout.GlobalTool(singular) and reports onfallout.globaltoolsas retired. The two roles were the wrong way round.^fallout\.globaltool[[:space:]]. The old prefix match would have accepted the plural id and passed against the wrong package.fallout.globaltoolssource mapping.Fallout.*already routes the tool to the GitHub Packages feed.README.md,docs/DESIGN.md,Directory.Build.propsand the scenario README, which all still quoted2026.1.*-*or the plural id.Why the tool ids were inverted
Fallout-build/Fallout#575recorded the renameFallout.GlobalTool→Fallout.GlobalTools, and this scenario was built to guard it. The rename was then reverted:Fallout.Cli.csprojsets<PackageId>Fallout.GlobalTool</PackageId>again. The plural id got exactly one nuget.org release,10.4.0-rc.4, which has since been unlisted — sodotnet tool update Fallout.GlobalTools --prereleasehad nothing to resolve. This is the regression the scenario exists to catch, just in the direction nobody expected.Verification
Ran all three scenarios locally against the live feeds, not just inspected:
Both package scenarios resolve the current head of
main. The tightened assertion was checked both ways: it matches the singular id and rejects the plural.canary.ymlparses as YAML; every edited XML and JSON file parses. No2026.1reference remains in the repo.Notes
tool-manifestwas already failing before the feed cleanup — it reads nuget.org only, so the deletions never affected it.minimalandtransition-shimswere green on 2026-08-17 and broke when the2026.1.0prereleases were removed.continue-on-error: true, so it reports without failing the scenario. Deprecating the retired ids on nuget.org is still the manual action tracked inFallout-build/Fallout#575.