GithubHelp home page GithubHelp logo

actions / setup-dotnet Goto Github PK

View Code? Open in Web Editor NEW
930.0 71.0 456.0 6.62 MB

Set up your GitHub Actions workflow with a specific version of the .NET core sdk

License: MIT License

TypeScript 91.66% JavaScript 2.44% Shell 0.29% PowerShell 5.13% C# 0.48%

setup-dotnet's People

Contributors

adamralph avatar alenasviridenko avatar brcrista avatar bryanmacfarlane avatar chrispat avatar coderpatros avatar darleev avatar dependabot[bot] avatar dmitry-shibanov avatar e-korolevskii avatar ericsciple avatar ggg-killer avatar github-actions[bot] avatar infin8x avatar ivanzosimov avatar joshmgross avatar litetex avatar maksimzhukov avatar marko-zivic-93 avatar maxim-lobanov avatar nikolai-laevskii avatar nogic1008 avatar panticmilos avatar samuel-w avatar stanleygoldman avatar teo-tsirpanis avatar thboop avatar thomasardal avatar timheuer avatar tomp736 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

setup-dotnet's Issues

Workflow stuck in infinite loop when specifying multiple target systems.

It seems that specifying multiple target systems for the run-on parameter triggers an infinite loop when setting up the workflow.

The following .yml file was used:

name: DotNETCore Build

on: 
  push:
    branches:
    - master

jobs:
  build:
    runs-on: ubuntu-latest, windows-latest
    steps:
    - uses: actions/checkout@v1
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 2.2.108
    - name: Build with dotnet
      run: dotnet build CICDTest --configuration Release
    - name: Unit Tests
      run: dotnet test CICDTest 

When specifying either ubuntu-latest or windows-latest as target systems the workflow kicks of just fine. When specifying both, the workflow is stalls at Starting your workflow run... without any logs. It also seems not possible to abort the run once it is stuck.

EDIT: 5h later the process is still stuck at "Starting your workflow run..."
ci

dotnet build fails for C# 8 on ubuntu-latest, passes on windows/macos-latest

Description

This may appear to be a rehash of #76, but in my case I am exclusively targeting netcoreapp3.1 solution-wide and am targeting SDK 3.1.201, so C# 8 features ought to be available at compile time. Builds succeed on windows-latest and macos-latest, but fail on ubuntu-latest with mistaken error messages around usages of C# 8's nullable reference types.

Do you have any advice that would help narrow down whether this is a problem with setup-dotnet, the base VM image itself, or something else?

Details

All csproj target netcoreapp3.1. global.json pins to SDK 3.1.201.

name: CI
on: [push, pull_request]
jobs:
  ci:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [windows-latest, macos-latest, ubuntu-latest]
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 3.1.201
    - run: pwsh ./build.ps1

.NET Core 3 ( 3.0.100-preview8-013656 ) works on ubuntu/mac-latest but not windows-latest

Using actions/checkout@v1 with dotnet version 3.0.100-preview8-013656 doesn't seem to work at all with Windows.

windows-latest

Run actions/setup-dotnet@v1
  with:
    dotnet-version: 3.0.100-preview8-013656
\windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command "& 'd:\a\_actions\actions\setup-dotnet\v1\externals\get-os-platform.ps1'"
Primary:win-x64
Checking tool cache
Getting a download url 3.0.100-preview8-013656
Could not fetch download information for version 3.0.100-preview8-013656
\windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command "& 'd:\a\_actions\actions\setup-dotnet\v1\externals\install-dotnet.ps1' -Version 3.0.100-preview8-013656 -DryRun"
dotnet-install: Payload URLs:
dotnet-install: Primary named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/3.0.100-preview8-013656/dotnet-sdk-3.0.100-preview8-013656-win-x64.zip
dotnet-install: Legacy named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/3.0.100-preview8-013656/dotnet-dev-win-x64.3.0.100-preview8-013656.zip
dotnet-install: Repeatable invocation: .\install-dotnet.ps1 -Version "3.0.100-preview8-013656" -InstallDir "C:\Users\runneradmin\AppData\Local\Microsoft\dotnet" -Architecture "x64"
Extracting Package d:\a\_temp\0ec9801f-26cb-486e-bb6a-d2201309921e
\windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command "$ErrorActionPreference = 'Stop' ; try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ; [System.IO.Compression.ZipFile]::ExtractToDirectory('d:\a\_temp\0ec9801f-26cb-486e-bb6a-d2201309921e', 'd:\a\_temp\1103b9d7-aea1-44c5-b398-9c3830e71c17')"
Caching tool
##[error]The operation was canceled.

ubuntu-latest

seems to fall back to legacy uris but gets installed.


Run actions/setup-dotnet@v1
  with:
    dotnet-version: 3.0.100-preview8-013656
ome/runner/work/_actions/actions/setup-dotnet/v1/externals/get-os-distro.sh
Primary:linux-x64
Legacy:ubuntu.18.04
Checking tool cache
Getting a download url 3.0.100-preview8-013656
Could not fetch download information for version 3.0.100-preview8-013656
ome/runner/work/_actions/actions/setup-dotnet/v1/externals/install-dotnet.sh --version 3.0.100-preview8-013656 --dry-run
dotnet-install: Payload URLs:
dotnet-install: Primary named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/3.0.100-preview8-013656/dotnet-sdk-3.0.100-preview8-013656-linux-x64.tar.gz
dotnet-install: Legacy named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/3.0.100-preview8-013656/dotnet-dev-ubuntu.18.04-x64.3.0.100-preview8-013656.tar.gz
dotnet-install: Repeatable invocation: ./install-dotnet.sh --version "3.0.100-preview8-013656" --install-dir "/home/runner/.dotnet" --architecture "x64"
Extracting Package /home/runner/work/_temp/eba3f08d-bcbd-4563-9cd6-435e312e86ee
in/tar xzC /home/runner/work/_temp/5fa14d86-6880-4af4-bdd0-3e05924cfe0e -f /home/runner/work/_temp/eba3f08d-bcbd-4563-9cd6-435e312e86ee
Caching tool
Successfully installed 3.0.100-preview8-013656
##[set-env name=DOTNET_ROOT;]/opt/hostedtoolcache/dncs
##[add-path]/opt/hostedtoolcache/dncs/3.0.100-preview8-013656/x64
Added matchers: 'csc'. Problem matchers scan action output for known warning or error strings and report these inline.
##[add-matcher]/home/runner/work/_actions/actions/setup-dotnet/v1/.github/csc.json

mac-latest

seems to fallback to legacy uris but gets installed.

sers/runner/runners/2.157.2/work/_actions/actions/setup-dotnet/v1/externals/get-os-distro.sh
Primary:mac-x64
Legacy:mac
Checking tool cache
Getting a download url 3.0.100-preview8-013656
Could not fetch download information for version 3.0.100-preview8-013656
sers/runner/runners/2.157.2/work/_actions/actions/setup-dotnet/v1/externals/install-dotnet.sh --version 3.0.100-preview8-013656 --dry-run
dotnet-install: Payload URLs:
dotnet-install: Primary named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/3.0.100-preview8-013656/dotnet-sdk-3.0.100-preview8-013656-osx-x64.tar.gz
dotnet-install: Legacy named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/3.0.100-preview8-013656/dotnet-dev-osx-x64.3.0.100-preview8-013656.tar.gz
dotnet-install: Repeatable invocation: ./install-dotnet.sh --version "3.0.100-preview8-013656" --install-dir "/Users/runner/.dotnet" --architecture "x64"
Extracting Package /Users/runner/runners/2.157.2/work/_temp/f27252b9-df8b-4231-a26b-5c79b3f95e2a
sr/bin/tar xzC /Users/runner/runners/2.157.2/work/_temp/337c5195-a4fd-49be-a93f-70fcbbe5e193 -f /Users/runner/runners/2.157.2/work/_temp/f27252b9-df8b-4231-a26b-5c79b3f95e2a
Caching tool
Successfully installed 3.0.100-preview8-013656
##[set-env name=DOTNET_ROOT;]/Users/runner/hostedtoolcache/dncs
##[add-path]/Users/runner/hostedtoolcache/dncs/3.0.100-preview8-013656/x64
Added matchers: 'csc'. Problem matchers scan action output for known warning or error strings and report these inline.
##[add-matcher]/Users/runner/runners/2.157.2/work/_actions/actions/setup-dotnet/v1/.github/csc.json

No new releases to the marketplace since v1.0.0

When I look at https://github.com/marketplace/actions/setup-dotnet-for-use-with-actions there is only one version, v1.0.0. Looking at the source code in this repository however, there have been several subsequent releases, with the latest being v1.3.0. Is something off here? Do you not release updates to the marketplace?

The reason I'm digging into this is because I want to use a GPR source-url like it is documented here, but I can see not proof that my action actually runs the authentication flow by creating a new nuget.package file like it should. I've run the source code for this action locally, and then it works like it should by creating another nuget.package. So my suspicion is that the code simply is not included in the public verison in the marketplace when using actions/setup-dotnet@v1.

Action fails for C# 8

I have a C# 8 project that uses C# 8 syntax

I have a simple action to build it:

name: ASP.NET Core CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest
    
    steps:
    - uses: actions/checkout@v2
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 2.2.108
    - name: Build with dotnet
      run: dotnet build --configuration Release

However, this throws an error whenever it encounters C# 8 syntax.

I should be able to force the lang version in the .csproj file with <LangVersion>8.0</LangVersion>, but this errors with CSC : error CS1617: Invalid option '8.0' for /langversion. Use '/langversion:?' to list supported values. [/home/runner/work/...myproject.csproj]

How do I upgrade this action to compile a C#8 project?

Cannot Find hostfxr.dll

Not completely sure if related to this action, but my best guess the issue is related to #12 (comment).

Using: actions/[email protected]
Run wyam
  wyam
   shell: C:\Program Files\PowerShell\6\pwsh.EXE -command ". '{0}'"
  env:
    DOTNET_ROOT: C:\hostedtoolcache\windows\dncs
A fatal error occurred, the required library hostfxr.dll could not be found.
If this is a self-contained application, that library should exist in [C:\Users\runneradmin\.dotnet\tools\.store\wyam.tool\2.2.4\wyam.tool\2.2.4\tools\netcoreapp2.1\any\].
If this is a framework-dependent application, install the runtime in the default location [C:\Program Files\dotnet] or use the DOTNET_ROOT environment variable to specify the runtime location.

Set DOTNET_CLI_TELEMETRY_OPTOUT=1

Telemetry
The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.

Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry

I don't think it's needed for CI runs. Travis sets this by default: https://github.com/travis-ci/travis-build/pull/1191/files

Unauthenticated error when using example for Azure DevOps feed

I'm trying to create a simple GitHub action which builds and tests my project. I have a private NuGet package which I'm hosting on an Azure Nuget feed. I saw this action should be compatible with it.

I added the secret (generated in Azure, added to GitHub settings) and tried running the workflow. Sadly I'm still getting a 401 error.

Am I missing something?

 steps:
    - uses: actions/checkout@v2
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 3.1.100
        source-url: https://pkgs.dev.azure.com/woutervanacht/_packaging/Wv8-NuGet-Feed/nuget/v3/index.json
      env:
        NUGET_AUTH_TOKEN: ${{secrets.AZURE_DEVOPS_PAT}}
    - name: Build with dotnet
      run: dotnet build --configuration Release
      working-directory: ${{env.workingDirectory}}
    - name: Test
      run: dotnet test
      working-directory: ${{env.workingDirectory}}
/opt/hostedtoolcache/dncs/3.1.100/x64/sdk/3.1.100/NuGet.targets(123,5): error : Unable to load the service index for source https://pkgs.dev.azure.com/woutervanacht/_packaging/Wv8-NuGet-Feed/nuget/v3/index.json. [/home/runner/work/Wv8.Finance.Back-End/Wv8.Finance.Back-End/Wv8.Finance.Back-End/Wv8.Finance.Back-End.sln]
/opt/hostedtoolcache/dncs/3.1.100/x64/sdk/3.1.100/NuGet.targets(123,5): error :   Response status code does not indicate success: 401 (Unauthorized). [/home/runner/work/Wv8.Finance.Back-End/Wv8.Finance.Back-End/Wv8.Finance.Back-End/Wv8.Finance.Back-End.sln]

[Ubuntu-16.04] `Unexpected end of file` error while running ./install-dotnet.sh

This does not seem to be common issue, regarding all other successful builds, but just in case something can be improved to prevent it from happening at all.

Failed build link.
OS: Ubuntu-16.04
dotnet version : 2.2.108
Context: Scheduled build.

Run actions/setup-dotnet@v1
  with:
    dotnet-version: 2.2.108
ome/runner/work/_actions/actions/setup-dotnet/v1/externals/get-os-distro.sh
Primary:linux-x64
Legacy:ubuntu.16.04
Checking tool cache
 Getting a download url 2.2.108
Could not fetch download information for version 2.2.108
ome/runner/work/_actions/actions/setup-dotnet/v1/externals/install-dotnet.sh --version 2.2.108 --dry-run
dotnet-install: Payload URLs:
dotnet-install: Primary named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/2.2.108/dotnet-sdk-2.2.108-linux-x64.tar.gz
dotnet-install: Legacy named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/2.2.108/dotnet-dev-ubuntu.16.04-x64.2.2.108.tar.gz
dotnet-install: Repeatable invocation: ./install-dotnet.sh --version "2.2.108" --install-dir "/home/runner/.dotnet" --architecture "x64"
Extracting Package /home/runner/work/_temp/5a2fe0f4-6f17-4402-abbc-6526dbd26ea1
in/tar xzC /home/runner/work/_temp/5098a57e-0259-4541-bc71-def74466eabc -f /home/runner/work/_temp/5a2fe0f4-6f17-4402-abbc-6526dbd26ea1

gzip: stdin: unexpected end of file
/bin/tar: Unexpected EOF in archive
/bin/tar: Unexpected EOF in archive
/bin/tar: Error is not recoverable: exiting now
##[error]The process '/bin/tar' failed with exit code 2
##[error]Node run failed with exit code 1

[Windows-2019] Exception while running .\install-dotnet.ps1

Failed build link
OS: Windows-2019
dotnet version : 2.2.108

Run actions/setup-dotnet@v1
 \windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command "& 'd:\a\_actions\actions\setup-dotnet\v1\externals\get-os-platform.ps1'"
Primary:win-x64
Checking tool cache
Getting a download url 2.2.108
Could not fetch download information for version 2.2.108
\windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command "& 'd:\a\_actions\actions\setup-dotnet\v1\externals\install-dotnet.ps1' -Version 2.2.108 -DryRun"
dotnet-install: Payload URLs:
dotnet-install: Primary named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/2.2.108/dotnet-sdk-2.2.108-win-x64.zip
dotnet-install: Legacy named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/2.2.108/dotnet-dev-win-x64.2.2.108.zip
dotnet-install: Repeatable invocation: .\install-dotnet.ps1 -Version "2.2.108" -InstallDir "C:\Users\runneradmin\AppData\Local\Microsoft\dotnet" -Architecture "x64"
Extracting Package d:\a\_temp\2030bbd3-23a0-437d-9682-91354ea088a6
\windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command "$ErrorActionPreference = 'Stop' ; try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ; [System.IO.Compression.ZipFile]::ExtractToDirectory('d:\a\_temp\2030bbd3-23a0-437d-9682-91354ea088a6', 'd:\a\_temp\d33a52c8-dd93-491c-b33f-f0f5bc646b40')"
Exception calling "ExtractToDirectory" with "2" argument(s): "End of Central Directory record could not be found."
At line:1 char:111
+ ... catch { } ; [System.IO.Compression.ZipFile]::ExtractToDirectory('d:\a ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : InvalidDataException
 
##[error]The process 'C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe' failed with exit code 1
##[error]Node run failed with exit code 1

Support for target runtimes.

Looking at the documentation and the code it appears the SDK runtime platform architecture is determined by the architecture of the OS.

It would be very useful for unit testing scenarios to allow specifying whether the x86 or x64 SDK is in use as dotnet test requires the explicit architecture.

nuget restore missing packages

Not really sure where to put this ,
this i think applies more to the windows base image than to setup-dotnet
but i can't find anywhere to post issues for the base images or the agents in general

nuget restore is missing packages
i am using the action file below
when i run nuget restore locally i get 15 packages restored
but when it is runs on github it only restores 1 package , json.net and causes the build to fail

name: Build Points Calculator

on: [push]
jobs:
  build:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@master

    - name: Setup VSWhere.exe
      uses: warrenbuckley/Setup-VSWhere@v1

    - name: Setup Nuget.exe
      uses: warrenbuckley/Setup-Nuget@v1

    - name: Nuget Restore 
      run: nuget restore .\AwardScenePoints.sln

    - name: Build Solution 
      run: powershell -Command " $msbuild = vswhere -latest -requires Microsoft.Component.MSBuild -find MSBuild\**\Bin\MSBuild.exe;  & "$msbuild" AwardScenePoints.sln "

Use recommended release strategy

We should be using the release strategy specified by https://github.com/actions/toolkit/blob/master/docs/action-versioning.md#recommendations

To get there, we need to:

  1. Create a releases/v1 branch and move the v1 tag and future releases there
  2. Warn that we will deprecate the master branch and that you should attach to v1 instead. We will support master in a warned but deprecated state for ~1 month.
  3. Switch the warning to an error on master. Remove node_modules from the master branch. We will stay in this state for ~1 month.
  4. Remove the error on master.

During steps 2 and 3, we need to be extra careful to not check the warning/error into the releases branch.

Custom source url, preserving default NuGet package source

I'm testing this pass to deploy my packages to the Github Package repo.

So far I've been able to push packages successfully when the dependency source is limited to either NuGet or Github. I'm stuck on building when there are dependencies from both package sources.

Assuming my personal access tokens are not intended to be distributed inside the repository for manually constructing a nuget.config file. My use case does not seem to be supported.

Any suggestions on the correct approach for building c# projects that use dependencies from multiple sources? Is this maybe considered bad practice?

dotnet test

When running locally dotnet test, I can execute tests on my project.
However, when executing the same command using GitHub Action, it fails with error

MSBUILD : error MSB1009: Project file does not exist.

The structure of my project:

<root>
|
src-+
    +--ServiceBus.AttachmentPlugin.sln
    +--ServiceBus.AttachmentPlugin.Tests
    '--ServiceBus.AttachmentPlugin

I've tried both to point directly to the .csproj as well as specifying the path to the solution (./src which works locally), but neither worked.

What's the right way to execute dotnet test?

Link to my .yml action.

Have found this post that indicates reference to the .sln file should work, but doesn't seem to work in my case.

Support installing the latest patch or minor version

TL;DR

Support a version format of 2.1.x or 2.x and the latest patch or minor version of .NET Core will be installed.

Summary

It's quite a common pattern to be able to omit a minor or patch version and tooling will get the latest version.

For instance Azure Pipeline Use .NET V2 Task provides this mechanism.

This will allow a build matrix like this to be specified:

jobs:
  build:
    runs-on: ubuntu-16.04
    strategy:
      matrix:
        dotnet: [ '2.1', '2.2', '3.0' ]
    name: Dotnet ${{ matrix.dotnet }} sample
    steps:
      - uses: actions/checkout@master
      - name: Setup dotnet
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: ${{ matrix.dotnet }}
      - run: dotnet build <my project>

The following options would be useful

  • 2 or 2.x or 2.* - Installs the latest version of .NET Core 2, currently 2.2.401
  • 2.1 or 2.1.x or 2.1.* - Installs the latest version of .NET Core 2.1, currently 2.1.801

Install sdk from global.json

In the root of the repo there can be a global.json that specifies the sdk version required to build. Checking this automatically (maybe via a switch you can turn on and off?) would simplify setup so if you're using a version not already installed, such as a pre-release, the sdk will automatically be installed and you don't have to maintain a version number in there and the workflow file.

Warning: Unexpected input 'dotnet-version'

Hi,

I've seen see the following message:
##[warning]Unexpected input 'dotnet-version', valid inputs are ['version']

It started a few days ago.

I've been using the Action this way:

jobs:
  test:
    runs-on: ubuntu-18.04
    steps:
      - uses: actions/checkout@v1
      - name: Setup Dotnet
        uses: actions/[email protected]
        with:
          dotnet-version: '2.2.402' # SDK Version to use.

Should I start to use version instead of dotnet-version?

Comprehensive example

The actual example doesn't help much to cover a real-life scenario. It would be beneficial if you may give us a complete example that includes the steps below.

  1. build with a version number (requires grabbing $(BuildId))
  2. run the test
  3. tag the source upon successful build & test
  4. deploy the artifacts to GitHub releases and GitHub packages

I understand that 3rd and 4th are not the concepts of this repository. However, it will give us a jump start with GitHub Actions. Without those above, it is challenging to play with it unless we create our environment with Docker, which will defeat the purpose of this repository.

Here is the initial draft where I stuck.

GitHub Actions version

name: CI

on:
  push:
    branches:
    - master

jobs:
  build:

    runs-on: ubuntu-latest
    
    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 2.2.108
    - name: Build
      run: dotnet build ./src/MyProject/MyProject.csproj --configuration Release /p:BuildNumber=1.0.820
    - name: Publish
      run: dotnet publish ./src/MyProject/MyProject.csproj --configuration Release
    - name: Pack
      run: dotnet pack ./src/MyProject/MyProject.csproj --no-build /p:Configuration=release /p:PackageVersion=1.0.820 --verbosity Detailed

VSTS version

Variables on VSTS

Parameters.RestoreBuildProjects = **/MyProject.csproj
Parameters.TestProjects = **/*Tests/MyProject.Tests.csproj
BuildConfiguration = Release
Build.BuildNumber = $(MajorVersion).$(MinorVersion).$(BuildId)
build.artifactstagingdirectory = 

Commands on VSTS

steps:
- task: DotNetCoreCLI@2
  displayName: Restore
  inputs:
    command: restore
    projects: '$(Parameters.RestoreBuildProjects)'

- task: DotNetCoreCLI@2
  displayName: Build
  inputs:
    projects: '$(Parameters.RestoreBuildProjects)'
    arguments: '--configuration $(BuildConfiguration) /p:BuildNumber=$(Build.BuildNumber)'

- task: DotNetCoreCLI@2
  displayName: Test
  inputs:
    command: test
    projects: '$(Parameters.TestProjects)'
    arguments: '--configuration $(BuildConfiguration) /p:BuildNumber=$(Build.BuildNumber)'

- task: DotNetCoreCLI@2
  displayName: Publish
  inputs:
    command: publish
    publishWebProjects: false
    projects: '$(Parameters.RestoreBuildProjects)'
    arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'
    zipAfterPublish: false

- task: DotNetCoreCLI@2
  displayName: Pack
  inputs:
    command: pack
    packagesToPack: '$(Parameters.RestoreBuildProjects)'
    nobuild: true
    versioningScheme: byBuildNumber

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'

setup-dotnet can be run without any arguments - confusing documentation

From #83 (comment)

When using actions/setup-dotnet it should setup dotnet.
However the source code says:

    //
    // Version is optional.  If supplied, install / use from the tool cache
    // If not supplied then task is still used to setup proxy, auth, etc...
    //

    let version = core.getInput('version');
    if (!version) {
      version = core.getInput('dotnet-version');
    }
    if (version) {
      const dotnetInstaller = new installer.DotnetCoreInstaller(version);
      await dotnetInstaller.installDotnet();
    }

However in the documentation of the action is not written that the version is optional:

dotnet-version:
    description: 'SDK version to use. Example: 2.2.104'
source-url:
    description: 'Optional package source for which to set up authentication. Will consult any existing NuGet.config in the root of the repo and provide a temporary NuGet.config using the NUGET_AUTH_TOKEN environment variable as a ClearTextPassword'

So if you don't supply version (doc says it is deprecated and should be removed since Oct 1, 2019) or dotnet-version it does not setup dotnet.
It just "configures" it.
If there is nothing to configure, it exits without any error.
This can be very confusing if no version is supplied (as in #83 ), because setup-dotnet exits and the only thing that is setup is the preinstalled dotnet

In my expectation setup-dotnet should always setup dotnet.
If you want to do configurations like using another package source (parameters: source-url and config-file) this should be outsourced into another action, e.g. setup-dotnet-package-source(-authentification)

Support installing multiple versions of .NET Core SxS

I would like to use this action to setup .NET Core for some class libraries I support. I like to run tests on multiple versions of .NET Core, but it appears I cannot use this task to install multiple versions of .NET Core.

Repro

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/setup-dotnet@v1
      with:
        version: '2.1.801'        
    - run: dotnet --info
    - uses: actions/setup-dotnet@v1
      with:
        version: '3.0.100-preview8-013656'
    - run: dotnet --info

Expected

Both .NET Core 2.1 and 3.0 are installed and available when running dotnet commands.

Actual

Usages of actions/setup-dotnet are not additive; the last one wins, so only 3.0.100-preview8-013656 is available.

logs.zip

Is there a list of the supported versions?

Is there a list (or derived list) of the supported versions? Our team hasn't had much success using this action to set up anything other than the version in the README (2.2.108).

I see that the action scans this release metadata for available versions, and 3.0.2 is there. I tried specifying 3.0.2, 3.0, and 3.x but none have worked. Is the problem with the OS (ubuntu-latest)?

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
        
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 3.0

CC: @nertim @btardif @ehamai

Potential issue when using wildcarded `dotnet-version`

See https://github.com/Aurora-Modders/AuroraLoader/runs/721995332?check_suite_focus=true using the following (snipped) workflow:

jobs:
  build:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-dotnet@v1
      with:
        dotnet-version: '3.1.x'
    - run: dotnet test

This resulted in the following:
image

Changing dotnet-version to 3.1.300 (and nothing else besides adding the DOTNET_NOLOGO environment variable) resulted in a successful build in https://github.com/Aurora-Modders/AuroraLoader/runs/722001214?check_suite_focus=true.

.NET version 4.5.1 - "httpStatusCode":404

The Matrix Testing example suggests you can use 4.5.1 as a dotnet-version. However, https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json does not list 4.5.1

10 dotnet-install: Payload URLs:
11 dotnet-install: Primary named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/4.5.1/dotnet-sdk-4.5.1-win-x64.zip
12 dotnet-install: Legacy named payload URL: https://dotnetcli.azureedge.net/dotnet/Sdk/4.5.1/dotnet-dev-win-x64.4.5.1.zip
13 dotnet-install: Repeatable invocation: .\install-dotnet.ps1 -Version "4.5.1" -InstallDir "C:\Users\runneradmin\AppData\Local\Microsoft\dotnet" -Architecture "x64"
14 Could Not Download https://dotnetcli.azureedge.net/dotnet/Sdk/4.5.1/dotnet-sdk-4.5.1-win-x64.zip {"httpStatusCode":404}
15 Could Not Download https://dotnetcli.azureedge.net/dotnet/Sdk/4.5.1/dotnet-dev-win-x64.4.5.1.zip {"httpStatusCode":404}

Action fails for RestoreSources in csproj

Hello!

Action fails for RestoreSources in csproj

yml follow https://github.com/actions/starter-workflows/blob/master/ci/dotnet-core.yml

csproj follow

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp3.1</TargetFramework>
    </PropertyGroup>

    <PropertyGroup>
        <RestoreSources>
            https://api.nuget.org/v3/index.json;
            https://www.myget.org/F/avalonia-ci/api/v2;
        </RestoreSources>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Avalonia" Version="0.9.999-cibuild0007107-beta" />
    </ItemGroup>

</Project>

Action works after add nuget.config

Can you bring action 'DotNetCoreCLI'?

It would be handy to have the same task as Azure DevOps does https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/DotNetCoreCLIV2, where I can pass wildcard path to multiple files .*csproj. It's very useful when a repository has a multiple solutions with multiple projects.

For example:

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

variables:
  buildConfiguration: 'Release'

steps:
- task: DotNetCoreCLI@2
  displayName: Build
  inputs:
    command: build
    projects: '**/*.csproj'
    arguments: '--configuration $(buildConfiguration)'
- task: DotNetCoreCLI@2
  displayName: Test
  inputs:
    command: test
    projects: '**/*Tests/*.csproj'
    arguments: '--configuration $(buildConfiguration)'

Selecting dotnet-version: '2.1.802' with action, but having '2.2.105' on dotnet run commands

I created an action containing this YML definition part:

jobs:
build:
runs-on: windows-latest

steps:
- uses: actions/setup-dotnet@v1
  with:
    dotnet-version: '2.1.802'
- run: |
    dotnet --version
    dotnet --info

The result of:

- run: |
    dotnet --version
    dotnet --info

Is the following (some parts are truncated below):

dotnet --version
2.2.105
.NET Core SDK (reflecting any global.json):
Version: 2.2.105
Commit: 7cecb35b92

Runtime Environment:
OS Name: Windows
OS Version: 10.0.17763
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\2.2.105\

Host (useful for support):
Version: 2.1.13
Commit: 1a165a1588

.NET Core SDKs installed:
1.0.1 [C:\Program Files\dotnet\sdk]
1.0.4 [C:\Program Files\dotnet\sdk]
1.1.4 [C:\Program Files\dotnet\sdk]
1.1.5 [C:\Program Files\dotnet\sdk]
[... truncated part ...]
Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

.NET version 2.2.402 - Failure after "Getting a download url" on macos-latest

On my last few testruns requiring setup-dotnet, the action returns an exit code 1 after "Getting a download url" without any error message. This error only occurs on macos-latest, while working as expected on windows-latest and ubuntu-latest.

This test suite has been passing successfully for weeks, so this might be a regression introduced with a recent update.

Relevant logs:

/Users/runner/runners/2.159.1/work/_actions/actions/setup-dotnet/master/externals/get-os-distro.sh
Primary:mac-x64
Legacy:mac
Checking tool cache
Getting a download url 2.2.402
##[error]Node run failed with exit code 1

Here's a link to the complete test suite:
https://github.com/starship/starship/runs/273104214

Tests fail when targeting to netcoreapp 2.1 and 3.1 using matrix testing

Let me explain the problem. I have a library and tests for it in two separate projects.

Library csproj:

<TargetFramework>netstandard2.0;netcoreapp3.1</TargetFrameworks>

Tests csproj:

<TargetFrameworks>netcoreapp2.1;netcoreapp3.1</TargetFrameworks>

I want to run tests in both LTS versions of netcoreapp 2.1 and 3.1. In case of 2.1 the library should be build as netstandard2.0.

Here is my workflow job:

jobs:
  build-and-test:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        dotnet: [
          { framework: netcoreapp2.1, version: 2.1.806 },
          { framework: netcoreapp3.1, version: 3.1.202 }
        ]

    name: ${{ matrix.dotnet.framework }} – build and test

    steps:
      - uses: actions/checkout@master

      - name: Setup dotnet
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version:  ${{ matrix.dotnet.version }}

      - name: Build and tests library
        run: |
          dotnet test --configuration Release --framework ${{ matrix.dotnet.framework }} <path to Tests.csproj>

In this case I have two separate jobs according to matrix. 3.1 successfully completed, but 2.1 is failed on build step with error like this:

[error]/opt/hostedtoolcache/dncs/2.1.806/x64/sdk/2.1.806/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(137,5):
error NETSDK1045: The current .NET SDK does not support targeting .NET Core 3.1. 
Either target .NET Core 2.1 or lower, or use a version of the .NET SDK that supports .NET Core 3.1. [<path to Test.csproj>]

I am a bit stuck how to do it properly? Could you give me some advice?

Actually I have found two workarounds here:

  1. Described in the issue #25 . Do not use matrix and setup both dotnet versions in the one job and use rsync to setup and side by side. The problem here is that your steps becomes sequential instead of parallel steps which would be in matrix testing. Also the job's code becomes more complicated.
  2. Use conditions in csproj. We could describe target frameworks like this:
    Library csproj:
    <TargetFrameworks Condition="'$(Framework)' != 'netcoreapp2.1'">netstandard2.0;netcoreapp3.1</TargetFrameworks>
    <TargetFramework Condition="'$(Framework)' == 'netcoreapp2.1'">netstandard2.0</TargetFramework>

Tests csproj:

    <TargetFrameworks Condition="'$(Framework)' != 'netcoreapp2.1'">netcoreapp2.1;netcoreapp3.1</TargetFrameworks>
    <TargetFramework Condition="'$(Framework)' == 'netcoreapp2.1'">netcoreapp2.1</TargetFramework>

and custom parameter will be added to the dotnet test command:

dotnet test --configuration Release --framework ${{ matrix.dotnet.framework }} <path to Tests.csproj> /p:Framework=${{ matrix.dotnet.framework }}

In this case CI problem affects the entire code base (csproj) which is bad idea I think.

So I am still trying to find better solution.

blackstone blacklist

Thank you 🙇‍♀ for wanting to create an issue in this repository. Before you do, please ensure you are filing the issue in the right place. Issues should only be opened on if the issue relates to code in this repository.

If your issue is relevant to this repository, please delete this text and continue to create this issue. Thank you in advance.

dotnet build on .net standard projects not working for ubuntu-latest

I've been trying to build my .net standard 2.0 project with github actions, tried many times with ubuntu-latest and mac-latest but couldn't achieve anything.

ubuntu throw me weird errors like missing assemblies and mac seems to not even run.
Fortunately, could run it with windows image.

My current .yml file:

on:
  push:
    branches:
    - github-actions

jobs:
  build:
    runs-on: windows-latest
    
    steps:
    - uses: actions/checkout@master
    - name: Setup .NET Core
      uses: actions/setup-dotnet@master
      with:
        dotnet-version: '3.0.100-rc1-014190'
    - name: build library (.net core)
      run: dotnet build src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj --configuration release
    - name: build and run .net core tests
      run: |
        dotnet build src/MIDTesters.Core/MIDTesters.Core.csproj
        dotnet test src/MIDTesters.Core/MIDTesters.Core.csproj

Running with ubuntu output:

2019-09-17T23:02:05.2620428Z ##[group]Run dotnet build src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj --configuration release
2019-09-17T23:02:05.2620691Z �[36;1mdotnet build src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj --configuration release�[0m
2019-09-17T23:02:05.2662422Z shell: /bin/bash -e {0}
2019-09-17T23:02:05.2662584Z env:
2019-09-17T23:02:05.2662703Z   DOTNET_ROOT: /opt/hostedtoolcache/dncs
2019-09-17T23:02:05.2662827Z ##[endgroup]
2019-09-17T23:02:05.4180582Z 
2019-09-17T23:02:05.4217683Z Welcome to .NET Core 3.0!
2019-09-17T23:02:05.4220300Z ---------------------
2019-09-17T23:02:05.4221302Z SDK Version: 3.0.100-rc1-014190
2019-09-17T23:02:05.4221652Z 
2019-09-17T23:02:05.4221946Z Telemetry
2019-09-17T23:02:05.4222433Z ---------
2019-09-17T23:02:05.4223775Z The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.
2019-09-17T23:02:05.4224879Z 
2019-09-17T23:02:05.4225645Z Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry
2019-09-17T23:02:05.4225904Z 
2019-09-17T23:02:05.4226392Z ----------------
2019-09-17T23:02:05.4226990Z Explore documentation: https://aka.ms/dotnet-docs
2019-09-17T23:02:05.4227390Z Report issues and find source on GitHub: https://github.com/dotnet/core
2019-09-17T23:02:05.4228011Z Find out what's new: https://aka.ms/dotnet-whats-new
2019-09-17T23:02:05.4228881Z Learn about the installed HTTPS developer cert: https://aka.ms/aspnet-core-https
2019-09-17T23:02:05.4242823Z Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs
2019-09-17T23:02:05.4243783Z Write your first app: https://aka.ms/first-net-core-app
2019-09-17T23:02:05.4245113Z --------------------------------------------------------------------------------------
2019-09-17T23:02:05.8242698Z Microsoft (R) Build Engine version 16.3.0-preview-19455-02+4a2d77107 for .NET Core
2019-09-17T23:02:05.8243643Z Copyright (C) Microsoft Corporation. All rights reserved.
2019-09-17T23:02:05.8244449Z 
2019-09-17T23:02:07.5566234Z   Restore completed in 992.31 ms for /home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj.
2019-09-17T23:02:07.6952221Z   You are using a preview version of .NET Core. See: https://aka.ms/dotnet-core-preview
2019-09-17T23:02:09.5788368Z ##[error]Job/JobMessages.cs(17,19): error CS0103: The name 'Mid0034' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5802250Z ##[error]Job/JobMessages.cs(17,63): error CS0246: The type or namespace name 'Mid0034' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5804023Z ##[error]Job/JobMessages.cs(18,19): error CS0103: The name 'Mid0035' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5806304Z ##[error]Job/JobMessages.cs(18,63): error CS0246: The type or namespace name 'Mid0035' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5807773Z ##[error]Job/JobMessages.cs(19,19): error CS0103: The name 'Mid0036' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5809512Z ##[error]Job/JobMessages.cs(19,63): error CS0246: The type or namespace name 'Mid0036' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5810835Z ##[error]Job/JobMessages.cs(20,19): error CS0103: The name 'Mid0037' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5812225Z ##[error]Job/JobMessages.cs(20,63): error CS0246: The type or namespace name 'Mid0037' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5813491Z ##[error]Job/JobMessages.cs(21,19): error CS0103: The name 'Mid0038' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5815830Z ##[error]Job/JobMessages.cs(21,63): error CS0246: The type or namespace name 'Mid0038' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5817272Z ##[error]Job/Advanced/AdvancedJobMessages.cs(20,19): error CS0103: The name 'Mid0127' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5819055Z ##[error]Job/Advanced/AdvancedJobMessages.cs(20,63): error CS0246: The type or namespace name 'Mid0127' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5820437Z ##[error]MidInterpreter.cs(113,22): error CS0103: The name 'KeepAlive' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5821914Z ##[error]MidInterpreter.cs(114,32): error CS0246: The type or namespace name 'KeepAlive' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5823263Z ##[error]Tightening/TighteningMessages.cs(13,19): error CS0103: The name 'Mid0060' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5825514Z ##[error]Tightening/TighteningMessages.cs(13,63): error CS0246: The type or namespace name 'Mid0060' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5826949Z ##[error]Tightening/TighteningMessages.cs(14,19): error CS0103: The name 'Mid0061' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5829152Z ##[error]Tightening/TighteningMessages.cs(14,63): error CS0246: The type or namespace name 'Mid0061' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5832063Z ##[error]Tightening/TighteningMessages.cs(15,19): error CS0103: The name 'Mid0062' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5833777Z ##[error]Tightening/TighteningMessages.cs(15,63): error CS0246: The type or namespace name 'Mid0062' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5837652Z ##[error]Tightening/TighteningMessages.cs(17,19): error CS0103: The name 'Mid0064' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5844424Z ##[error]Tightening/TighteningMessages.cs(17,63): error CS0246: The type or namespace name 'Mid0064' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5846080Z ##[error]Tightening/TighteningMessages.cs(18,19): error CS0103: The name 'Mid0065' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5856755Z ##[error]Tightening/TighteningMessages.cs(18,63): error CS0246: The type or namespace name 'Mid0065' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5872793Z 
2019-09-17T23:02:09.5873024Z Build FAILED.
2019-09-17T23:02:09.5873079Z 
2019-09-17T23:02:09.5874322Z ##[error]Job/JobMessages.cs(17,19): error CS0103: The name 'Mid0034' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5876375Z ##[error]Job/JobMessages.cs(17,63): error CS0246: The type or namespace name 'Mid0034' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5877883Z ##[error]Job/JobMessages.cs(18,19): error CS0103: The name 'Mid0035' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5879409Z ##[error]Job/JobMessages.cs(18,63): error CS0246: The type or namespace name 'Mid0035' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5881021Z ##[error]Job/JobMessages.cs(19,19): error CS0103: The name 'Mid0036' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5882705Z ##[error]Job/JobMessages.cs(19,63): error CS0246: The type or namespace name 'Mid0036' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5884000Z ##[error]Job/JobMessages.cs(20,19): error CS0103: The name 'Mid0037' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5886153Z ##[error]Job/JobMessages.cs(20,63): error CS0246: The type or namespace name 'Mid0037' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5887843Z ##[error]Job/JobMessages.cs(21,19): error CS0103: The name 'Mid0038' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5889401Z ##[error]Job/JobMessages.cs(21,63): error CS0246: The type or namespace name 'Mid0038' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5890865Z ##[error]Job/Advanced/AdvancedJobMessages.cs(20,19): error CS0103: The name 'Mid0127' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5892330Z ##[error]Job/Advanced/AdvancedJobMessages.cs(20,63): error CS0246: The type or namespace name 'Mid0127' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5893960Z ##[error]MidInterpreter.cs(113,22): error CS0103: The name 'KeepAlive' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5896349Z ##[error]MidInterpreter.cs(114,32): error CS0246: The type or namespace name 'KeepAlive' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5897781Z ##[error]Tightening/TighteningMessages.cs(13,19): error CS0103: The name 'Mid0060' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5899419Z ##[error]Tightening/TighteningMessages.cs(13,63): error CS0246: The type or namespace name 'Mid0060' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5901017Z ##[error]Tightening/TighteningMessages.cs(14,19): error CS0103: The name 'Mid0061' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5902458Z ##[error]Tightening/TighteningMessages.cs(14,63): error CS0246: The type or namespace name 'Mid0061' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5904688Z ##[error]Tightening/TighteningMessages.cs(15,19): error CS0103: The name 'Mid0062' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5906397Z ##[error]Tightening/TighteningMessages.cs(15,63): error CS0246: The type or namespace name 'Mid0062' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5908268Z ##[error]Tightening/TighteningMessages.cs(17,19): error CS0103: The name 'Mid0064' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5910514Z ##[error]Tightening/TighteningMessages.cs(17,63): error CS0246: The type or namespace name 'Mid0064' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5911860Z ##[error]Tightening/TighteningMessages.cs(18,19): error CS0103: The name 'Mid0065' does not exist in the current context [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5913228Z ##[error]Tightening/TighteningMessages.cs(18,63): error CS0246: The type or namespace name 'Mid0065' could not be found (are you missing a using directive or an assembly reference?) [/home/runner/work/OpenProtocolInterpreter/OpenProtocolInterpreter/src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj]
2019-09-17T23:02:09.5913674Z     0 Warning(s)
2019-09-17T23:02:09.5913798Z     24 Error(s)
2019-09-17T23:02:09.5913848Z 
2019-09-17T23:02:09.5913999Z Time Elapsed 00:00:03.68

Also running on windows output:

2019-09-17T23:03:41.1151413Z ##[group]Run dotnet build src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj --configuration release
2019-09-17T23:03:41.1151832Z �[36;1mdotnet build src/OpenProtocolInterpreter/OpenProtocolInterpreter.csproj --configuration release�[0m
2019-09-17T23:03:41.1156477Z shell: C:\windows\system32\cmd.exe /D /E:ON /V:OFF /S /C "CALL "{0}""
2019-09-17T23:03:41.1156631Z env:
2019-09-17T23:03:41.1156735Z   DOTNET_ROOT: C:\hostedtoolcache\windows\dncs
2019-09-17T23:03:41.1156843Z ##[endgroup]
2019-09-17T23:03:47.0289618Z 
2019-09-17T23:03:47.0337013Z Welcome to .NET Core 3.0!
2019-09-17T23:03:47.0337558Z ---------------------
2019-09-17T23:03:47.0337957Z SDK Version: 3.0.100-rc1-014190
2019-09-17T23:03:47.0338151Z 
2019-09-17T23:03:47.0338385Z Telemetry
2019-09-17T23:03:47.0338603Z ---------
2019-09-17T23:03:47.0339229Z The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.
2019-09-17T23:03:47.0339634Z 
2019-09-17T23:03:47.0339956Z Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry
2019-09-17T23:03:47.0340171Z 
2019-09-17T23:03:47.0340510Z ----------------
2019-09-17T23:03:47.0341091Z Explore documentation: https://aka.ms/dotnet-docs
2019-09-17T23:03:47.0341458Z Report issues and find source on GitHub: https://github.com/dotnet/core
2019-09-17T23:03:47.0341658Z Find out what's new: https://aka.ms/dotnet-whats-new
2019-09-17T23:03:47.0342266Z Learn about the installed HTTPS developer cert: https://aka.ms/aspnet-core-https
2019-09-17T23:03:47.0342527Z Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs
2019-09-17T23:03:47.0342716Z Write your first app: https://aka.ms/first-net-core-app
2019-09-17T23:03:47.0437470Z --------------------------------------------------------------------------------------
2019-09-17T23:03:48.5768526Z Microsoft (R) Build Engine version 16.3.0-preview-19455-02+4a2d77107 for .NET Core
2019-09-17T23:03:48.5811521Z Copyright (C) Microsoft Corporation. All rights reserved.
2019-09-17T23:03:48.5814862Z 
2019-09-17T23:03:51.6231437Z   Restore completed in 1.31 sec for D:\a\OpenProtocolInterpreter\OpenProtocolInterpreter\src\OpenProtocolInterpreter\OpenProtocolInterpreter.csproj.
2019-09-17T23:03:51.7568082Z   You are using a preview version of .NET Core. See: https://aka.ms/dotnet-core-preview
2019-09-17T23:03:54.1003545Z   OpenProtocolInterpreter -> D:\a\OpenProtocolInterpreter\OpenProtocolInterpreter\src\OpenProtocolInterpreter\bin\release\netstandard2.0\OpenProtocolInterpreter.dll
2019-09-17T23:03:54.3738575Z   Successfully created package 'D:\a\OpenProtocolInterpreter\OpenProtocolInterpreter\src\OpenProtocolInterpreter\bin\release\OpenProtocolInterpreter.3.0.1.nupkg'.
2019-09-17T23:03:54.3995087Z 
2019-09-17T23:03:54.3996256Z Build succeeded.
2019-09-17T23:03:54.3996816Z     0 Warning(s)
2019-09-17T23:03:54.3997284Z     0 Error(s)
2019-09-17T23:03:54.3997765Z 
2019-09-17T23:03:54.3998730Z Time Elapsed 00:00:05.50
2019-09-17T23:03:54.4630218Z ##[group]Run dotnet build src/MIDTesters.Core/MIDTesters.Core.csproj
2019-09-17T23:03:54.4630470Z �[36;1mdotnet build src/MIDTesters.Core/MIDTesters.Core.csproj�[0m
2019-09-17T23:03:54.4630587Z �[36;1mdotnet test src/MIDTesters.Core/MIDTesters.Core.csproj�[0m
2019-09-17T23:03:54.4630772Z shell: C:\windows\system32\cmd.exe /D /E:ON /V:OFF /S /C "CALL "{0}""
2019-09-17T23:03:54.4630877Z env:
2019-09-17T23:03:54.4630969Z   DOTNET_ROOT: C:\hostedtoolcache\windows\dncs
2019-09-17T23:03:54.4631069Z ##[endgroup]
2019-09-17T23:03:54.8694287Z Microsoft (R) Build Engine version 16.3.0-preview-19455-02+4a2d77107 for .NET Core
2019-09-17T23:03:54.8695224Z Copyright (C) Microsoft Corporation. All rights reserved.
2019-09-17T23:03:54.8696153Z 
2019-09-17T23:03:55.5908468Z   Restore completed in 27.91 ms for D:\a\OpenProtocolInterpreter\OpenProtocolInterpreter\src\OpenProtocolInterpreter\OpenProtocolInterpreter.csproj.
2019-09-17T23:04:48.9035401Z   Restore completed in 53.3 sec for D:\a\OpenProtocolInterpreter\OpenProtocolInterpreter\src\MIDTesters.Core\MIDTesters.Core.csproj.
2019-09-17T23:04:49.0177870Z   You are using a preview version of .NET Core. See: https://aka.ms/dotnet-core-preview
2019-09-17T23:04:50.2825575Z   OpenProtocolInterpreter -> D:\a\OpenProtocolInterpreter\OpenProtocolInterpreter\src\OpenProtocolInterpreter\bin\Debug\netstandard2.0\OpenProtocolInterpreter.dll
2019-09-17T23:04:50.5405212Z   Successfully created package 'D:\a\OpenProtocolInterpreter\OpenProtocolInterpreter\src\OpenProtocolInterpreter\bin\Debug\OpenProtocolInterpreter.3.0.1.nupkg'.
2019-09-17T23:04:51.5821959Z   MIDTesters.Core -> D:\a\OpenProtocolInterpreter\OpenProtocolInterpreter\src\MIDTesters.Core\bin\Debug\netcoreapp2.0\MIDTesters.Core.dll
2019-09-17T23:04:51.5907956Z 
2019-09-17T23:04:51.5908658Z Build succeeded.
2019-09-17T23:04:51.5909128Z     0 Warning(s)
2019-09-17T23:04:51.5909362Z     0 Error(s)
2019-09-17T23:04:51.5910544Z 
2019-09-17T23:04:51.5910887Z Time Elapsed 00:00:56.66

mac not running:
image

Any thoughts on it? Am I missing something?

How to make `dotnet tool restore` use `./.config/dotnet-tools.json`?

Description

I have the configuration file (sln-root-folder/.config/dotnet-tools.json) below for .NET tools:

{
  "version": 1,
  "isRoot": true,
  "tools": {
    "dotnet-fsharplint": {
      "version": "0.13.3",
      "commands": [
        "dotnet-fsharplint"
      ]
    }
  }
}

Which works like a charm when restoring the tools:

C:\Users\Michelle\Desktop\Work\sln-root-folder>dotnet tool restore
Tool 'dotnet-fsharplint' (version '0.13.3') was restored. Available commands: dotnet-fsharplint

Restore was successful.
C:\Users\Michelle\Desktop\Work\sln-root-folder>dotnet fsharplint lint --lint-config fsharplint.json MessingUp.sln
========== Linting C:\Users\Michelle\Desktop\Work\sln-root-folder\MessingUp\Library.fs ==========
========== Finished: 0 warnings ==========
========== Linting C:\Users\Michelle\Desktop\Work\sln-root-folder\MessingUp.Tests\Tests.fs ==========
========== Finished: 0 warnings ==========
========== Linting C:\Users\Michelle\Desktop\Work\sln-root-folder\MessingUp.Tests\Program.fs ==========
========== Finished: 0 warnings ==========
========== Summary: 0 warnings ==========

This is fine as long as it is executed on my local machine, whenever I'm doing that in a Github action using setup-dotnet it doesn't work.

Details

Here the code on my GitHub action job:

  lint-code:
    needs: lint-commit
    # So that we don't juggle with different OS for accessing the right path...
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Setup .NET Core
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: 2.1
      # For some reasons the path is kinda messed up...
      # Doesn't consider the .config folder =|
      - name: Restore tools
        run: dotnet tool restore
      - name: Run F# Linter
        run: dotnet fsharplint lint --lint-config fsharplint.json MessingUp.sln

Gives the output below:

 Restore tools38s
    DOTNET_ROOT: /opt/hostedtoolcache/dncs/2.1.807/x64

Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry

Configuring...
--------------
A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once.
Decompressing .......... 8081 ms
Expanding .......... 29542 ms

ASP.NET Core
------------
Successfully installed the ASP.NET Core HTTPS Development Certificate.
To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation.
For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054.
Required command was not provided.
tnet tool [options] [command]

Options:
  -h, --help   Show command line help.

Commands:
  install <PACKAGE_ID>     Install a tool for use on the command line.
  uninstall <PACKAGE_ID>   Uninstall a tool from the current development environment.
  update <PACKAGE_ID>      Update a tool to the latest stable version.
  list                     List tools installed in the current development environment.
##[error]Process completed with exit code 1.

I have a workaround but I would like to avoid defining myself something already available in the ./.config/dotnet-tools.json...

  lint-code:
    needs: lint-commit
    # So that we don't juggle with different OS for accessing the right path...
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Setup .NET Core
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: 2.1
      # For some reasons the path is kinda messed up...
      # Doesn't consider the .config folder =|
      - name: Restore tools
        run: |
          export PATH="$PATH:/root/.dotnet/tools"
          dotnet tool install -g dotnet-fsharplint --version 0.13.3
      - name: Run F# Linter
        run: dotnet fsharplint lint --lint-config fsharplint.json MessingUp.sln

How can I just use dotnet tool restore in a GitHub action job where I use setup-dotnet?

Add support for installing the latest minor version

After addressing installing the latest patch with #82, we would like to support installing the latest minor version.

There are special considerations as outlined here: https://github.com/actions/setup-dotnet/pull/82/files#r428592480 and #23. A decision will need to be reached on how to address the 2.x install (do we go with 2.1 lts or 2.2 eol), for 3.x and 5.x the strategy will be clear to use the latest patch from the latest minor version. This may also not be the best choice for some users as a minor version could cause issues, documentation should encourage specifying a minor version.

Authenticated feeds sample does not work

When using the snippet in the readme for authenticated feeds:

- uses: actions/setup-dotnet@v1
  with:
    dotnet-version: '2.2.103' # SDK Version to use.
    source-url: https://nuget.pkg.github.com/<owner>/index.json
  env:
    NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
- run: dotnet build <my project>
- name: Create the package
  run: dotnet pack --configuration Release <my project>
 - name: Publish the package to GPR
  run: dotnet nuget push <my project>/bin/Release/*.nupkg

It does not work. As written, dotnet emits the following error:
error: Source parameter was not specified.

When you specify a -s parameter with the GPR url it fails auth:

info : Pushing TimHeuer.TestLib.1.0.2.nupkg to 'https://nuget.pkg.github.com/***'...
info :   PUT https://nuget.pkg.github.com/***/
warn : Your request could not be authenticated by the GitHub Packages service. Please ensure your access token is valid and has the appropriate scopes configured.
info :   Unauthorized https://nuget.pkg.github.com/***/ 51ms
error: Response status code does not indicate success: 401 (Unauthorized).

It does not appear that the adding of the source to use authenticated feeds is working with dotnet nuget push in this configuration.

Error with output XML

I have the basic build, but when I activate the output of an XML document it fails

name: Github CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest
    
    steps:
    - uses: actions/checkout@v1
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 3.0.100-rc1-014190
    - name: Build with dotnet
      run: dotnet build --configuration Release

Error:

CSC : error CS0016: Could not write to output file '/QD.Components.Semantic.xml' -- 'Access to the path '/QD.Components.Semantic.xml' is denied.' [/home/runner/work/SemanticUI-Razor-Components/SemanticUI-Razor-Components/QD.Components.Semantic/QD.Components.Semantic.csproj]

Using v1.0.0 fails to get correct SDK requested

This:

      - name: Setup .NET Core SDK
        uses: actions/[email protected]
        with:
          dotnet-version: 3.1.100

fails to actually get the 3.1.100 SDK, however:

      - name: Setup .NET Core SDK
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: 3.1.100

works correctly.

The @v1.0.0 is what is suggested use on the marketplace listing.

add option to remove welcome message

When running dotnet for the first time, it spits out an annoying welcome message. That is not useful for ci builds.

---------------------
SDK Version: 3.1.101

Telemetry
---------
The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.

Wrong working directory for config-file

When adding a nuget package source auth token while providing a config-file it appears that the script is not searching the source directory.

My expectation is that if I use settings like this...

- uses: actions/setup-dotnet@v1
  with:
    dotnet-version: '3.1.202'
    config-file: nuget.config
    source-url: https://nuget.pkg.github.com/jeremy-marcus/index.json
  env:
    NUGET_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

... then it would be looking for a nuget.config file at d:\a\[repo]\[repo]\nuget.config. Instead it looks for the file in d:\a\_temp\nuget.config.

No Check Annotation for compile error in C# project

I introduced a simple compile error, which seems to have been matched by the problem matcher (it turned red in the console output view and is prefixed with ##[error]), but there was no annotation linking the error to the file/line number information that is contained in the line.

https://github.com/rainersigwald/bumblebee/pull/6/checks?check_run_id=192916618#step:4:32

I hoped for the sort of linking in the Files Changed tab of the PR that are described in the Checks CI docs.

This might be because the error includes only a relative-to-the-project filename, rather than relative-to-the-repo-root?

actions/setup-dotnet@v1 with dotnet-version fails very cryptically

I had a github workflow action like below

  • name: Setup .NET Core
    uses: actions/setup-dotnet@v1
    with:
    dotnet-version: 3.0

You can try it, It kept failing cryptically with an error like

##[error]Node run failed with exit code 1

I could not figure out why it was failing, there was no info in the raw log either.

Finally after several trial and error, I figured it was related to version and I changed to version to 3.0.100 and it worked.

Please fix the error message to more actionable ones.

3.0.100 does not work

The first problem is #29

But even after using the workaround listed there, another problem is encountered:

dotnet run -c Release --no-build -p BullseyeSmokeTester -- --help
It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '3.0.0' was not found.
  - Check application dependencies and target a framework version installed at:
      /usr/share/dotnet
  - Installing .NET Core prerequisites might help resolve this problem:
      https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
  - The .NET Core framework and SDK can be installed from:
      https://aka.ms/dotnet-download
  - The following versions are installed:
      2.1.0 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]
...

Repro at https://github.com/adamralph/bullseye/runs/238588806

Changeset: https://github.com/adamralph/bullseye/pull/353/files

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.