actions / setup-dotnet Goto Github PK
View Code? Open in Web Editor NEWSet up your GitHub Actions workflow with a specific version of the .NET core sdk
License: MIT License
Set up your GitHub Actions workflow with a specific version of the .NET core sdk
License: MIT License
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..."
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?
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
Using actions/checkout@v1 with dotnet version 3.0.100-preview8-013656 doesn't seem to work at all with Windows.
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.
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
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
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
.
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?
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.
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
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]
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
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
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.
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 "
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:
releases/v1
branch and move the v1
tag and future releases therev1
instead. We will support master in a warned but deprecated state for ~1 month.node_modules
from the master branch. We will stay in this state for ~1 month.During steps 2 and 3, we need to be extra careful to not check the warning/error into the releases branch.
The installer code is using an endpoint which is obsolete.
Lines 349 to 350 in 56ad7c6
Supposedly, this is going to be deleted soon (cref dotnet/core#3167, dotnet/core#3168)
dotnet/announcements#87 contains details on the new format, release-index.json.
cc @leecow
It may be worth changing the matrix example in the readme to be 3.0.100-preview8-013656
as an example for the https://dotnet.microsoft.com/download/dotnet-core/3.0 sdks.
It is great that this works and fast!
- uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.0.100-preview8-013656
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?
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 a version format of 2.1.x
or 2.x
and the latest patch or minor version of .NET Core will be installed.
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
I am trying to get github actions to work with .NET 5 but without any success
https://github.com/kusl/mydotnet/actions/
There's some hint over at https://github.com/dotnet/cli ,
This repo has been merged into https://github.com/dotnet/sdk. Previous releases (prior to .NET 5) will still be serviced out of this repo.
see also dotnet/announcements#119
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.
Could Not Download https://download.visualstudio.microsoft.com/download/pr/d731f991-8e68-4c7c-8ea0-fad5605b077a/49497b5420eecbd905158d86d738af64/dotnet-sdk-3.1.100-linux-x64.tar.gz {"code":"CERT_HAS_EXPIRED"}
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
?
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.
$(BuildId)
)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.
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
Parameters.RestoreBuildProjects = **/MyProject.csproj
Parameters.TestProjects = **/*Tests/MyProject.Tests.csproj
BuildConfiguration = Release
Build.BuildNumber = $(MajorVersion).$(MinorVersion).$(BuildId)
build.artifactstagingdirectory =
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)'
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)
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.
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
Both .NET Core 2.1 and 3.0 are installed and available when running dotnet
commands.
Usages of actions/setup-dotnet are not additive; the last one wins, so only 3.0.100-preview8-013656 is available.
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
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:
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.
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}
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
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)'
I created an action containing this YML definition part:
jobs:
build:
runs-on: windows-lateststeps: - 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: 7cecb35b92Runtime 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]
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
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:
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. <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.
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.
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
Any thoughts on it? Am I missing something?
Trying to install codecov.tool and use it appears that .dotnet/tool
is not on path.
https://github.com/casz/GitLabApiClient/blob/b295527722130004e1c2125d2e8055f68721d41c/.github/workflows/ci.yml
https://github.com/nmklotas/GitLabApiClient/blob/b295527722130004e1c2125d2e8055f68721d41c/test.ps1
https://github.com/nmklotas/GitLabApiClient/pull/100/checks?check_run_id=359089103#step:7:486
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.
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
?
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.
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.
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]
The DOTNET_ROOT environment variable needs to be set so that .NET Core global tools find the right locations:
https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/DotNetCoreInstallerV1/dotnetcoreinstaller.ts
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.
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.
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
.
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?
I would like to run this action using the .NET 5.0 preview, but this does not seem possible?
I had a github workflow action like below
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.
Please see the Azure Pipelines task:
https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/DotNetCoreInstallerV1/dotnetcoreinstaller.ts
There needs to be control over how .NET Core is located
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
Hi Team,
First of all its not an issue. I couldn't find any source which can help me to setup status badge on README.md file. I just started with GitHub action workflow and try to implement in my few open-source repositories. Is there any way where I can set up a workflow status badge on README.md file.
https://github.com/actions/setup-dotnet/workflows/Main%20workflow/badge.svg
Thanks,
Niraj Trivedi
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.