This commit is contained in:
Vladimir Safonkin 2021-02-20 11:39:27 +03:00
parent 29cde3ffb5
commit 3251950370

View File

@ -10,14 +10,16 @@ The behavior is different for macOS runners because pre-installation directory m
- According to .NET documentation (https://docs.microsoft.com/en-us/dotnet/core/versions/selection), .NET CLI will use the latest installed .NET SDK and .NET runtime if there are multiple versions installed side-by-side.
It is unclear for customers who expect that .NET specified in the task will be used for their project.
# Decision
- Change default location for dotnet installation on Windows and Ubuntu images to the pre-installed versions location. It can be reached by using `-InstallDir` (or `--install-dir` for Ubuntu) property for installer scripts: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script
# Proposal
- Change .NET installation path for Windows and Ubuntu images to match the location of pre-installed versions by using `-InstallDir` (Windows) and `--install-dir` (Ubuntu) property for installer scripts:
https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script
- Create `global.json` file via `setup-dotnet` to specify installed dotnet version as current
- Implement additional flag to create `global.json` file in runtime to set installed .NET version as a current one.
- Release new task version to avoid breacking changes for customers.
# v2-preview
There will be a v2-preview branch that will be created for development and testing. Any changes will first be merged into v2-preview branch. After a period of testing & verification, the v2-preview branch will be merged into the main branch and a v2 tag will be created. Any GitHub public documentation and starter workflows that mention setup-dotnet will then be updated to use v2 instead of v1.
# Consequences
- Users will be able to use pre-installed dotnet versions after using `setup-dotnet` task on Windows and Ubuntu runners.
- The current dotnet version will be forced to version that user points in the task.
- Customers will be able to use pre-installed .NET versions with setup-dotnet action on Windows and Ubuntu.
- The current .NET version will be forced to the version that the customer specifies in the action inputs.