-
Notifications
You must be signed in to change notification settings - Fork 15.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump target frameworks of C# programs from netcoreapp1.0 to netcoreapp2.1 #5838
Changes from all commits
d96bec2
5808f00
ad28622
afae499
e4dc27d
c24ec68
7d246f6
b2e8f97
dfb873a
0efbd9a
5e3e9fb
da2db2a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#!/usr/bin/env powershell | ||
# Install dotnet SDK based on the SDK version from global.json | ||
|
||
Set-StrictMode -Version 2 | ||
$ErrorActionPreference = 'Stop' | ||
|
||
# avoid "Unknown error on a send" in Invoke-WebRequest | ||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 | ||
|
||
$InstallScriptUrl = 'https://dot.net/v1/dotnet-install.ps1' | ||
$InstallScriptPath = Join-Path "$env:TEMP" 'dotnet-install.ps1' | ||
$GlobalJsonPath = Join-Path $PSScriptRoot '..' | Join-Path -ChildPath 'global.json' | ||
|
||
# Resolve SDK version from global.json file | ||
$GlobalJson = Get-Content -Raw $GlobalJsonPath | ConvertFrom-Json | ||
$SDKVersion = $GlobalJson.sdk.version | ||
|
||
# Download install script | ||
Write-Host "Downloading install script: $InstallScriptUrl => $InstallScriptPath" | ||
Invoke-WebRequest -Uri $InstallScriptUrl -OutFile $InstallScriptPath | ||
&$InstallScriptPath -Version $SDKVersion |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"sdk": { | ||
"version": "2.1.504" | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
FROM debian:stretch | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Original was debian:latest, why change it to stretch? Could this cause the issues we're seeing with compatibility testing? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. currently latest = stretch, but meaning of debian:latest can change over time, and the idea of the docker image is to provide a stable runtime environment, so pinning to a specific version seems as a logical choice. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The only difference I can see between the last successful run I can find (22 days ago) and this one is that the base image was updated from Debian 9.7 to 9.8 but I don't know if that's the issue (I highly doubt it is). We could just change the script to use path variables rather than copying files. I believe it'd easier to understand and manage that way in the long run. |
||
|
||
# Install dependencies. We start with the basic ones require to build protoc | ||
# and the C++ build | ||
RUN apt-get update && apt-get install -y \ | ||
autoconf \ | ||
autotools-dev \ | ||
build-essential \ | ||
bzip2 \ | ||
ccache \ | ||
curl \ | ||
gcc \ | ||
git \ | ||
libc6 \ | ||
libc6-dbg \ | ||
libc6-dev \ | ||
libgtest-dev \ | ||
libtool \ | ||
make \ | ||
parallel \ | ||
time \ | ||
wget \ | ||
&& apt-get clean | ||
|
||
# dotnet SDK prerequisites | ||
RUN apt-get update && apt-get install -y libunwind8 libicu57 && apt-get clean | ||
|
||
# Install dotnet SDK via install script | ||
RUN wget -q https://dot.net/v1/dotnet-install.sh && \ | ||
chmod u+x dotnet-install.sh && \ | ||
./dotnet-install.sh --version 2.1.504 && \ | ||
ln -s /root/.dotnet/dotnet /usr/local/bin | ||
|
||
RUN wget -q www.nuget.org/NuGet.exe -O /usr/local/bin/nuget.exe | ||
|
||
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we call the dll directly instead of
dotnet run --no-build
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I personally feel more confident that this will really only run the pre-built dll as opposed to to running a dotnet command that can potentially do something extra. No reason to change this in this PR.