fix: Avoid global.json
when running all dotnet
commands
#614
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.
Summary
The Sentry .NET SDK uses a global.json file to pin a specific version of the .NET SDK and .NET Workloads to ensure reproducible builds.
When pushing the Sentry NuGet packages and Symbol packages, we can use any version of the .NET SDK,
as long as we ensure that the actual
dotnet build
,dotnet test
, and creating the packages viadotnet pack
run with the pinned version of the .NET SDK.In a previous PR, see #601,
we applied
spawnOptions
to the invocation ofdotnet nuget push
viaspawnProcess
,with which we set the Working Directory outside of the
sentry-dotnet
repository,so that the
global.json
does not get picked up / enforced.However,
we forgot to apply the same
spawnOptions
to the other invocations ofdotnet
commands.This manifests in failure when invoking
dotnet --version
:Publish using Craft
Changes
Applying the previously added
spawnOptions
to the invocations of alldotnet
commands,not just
dotnet nuget push
.See also
dotnet push
#601