Skip to content
This repository was archived by the owner on Apr 20, 2023. It is now read-only.

Update to ASP.NET Core shared framework 2.1.0-preview1-28031 #8341

Merged
merged 16 commits into from
Jan 10, 2018
Merged

Update to ASP.NET Core shared framework 2.1.0-preview1-28031 #8341

merged 16 commits into from
Jan 10, 2018

Conversation

natemcmaster
Copy link

@natemcmaster natemcmaster commented Jan 6, 2018

In 2.1.0, ASP.NET Core is replacing the runtime package store with a shared framework, similar to Microsoft.NETCore.App. This PR updates packages and installers to pull the sharedfx instead of the runtime store.

In this PR:

  • updates to 2.1.0-preview1-28031
  • Unifies aspnetcore packages and installer downloads to one version variable
  • Unifies to one aspnetcore myget feed

Not in this PR:

  • orchestrated build support
  • because the "trampoline" from the 2.0 runtime store to 2.1 shared framework is not yet implemented in corehost, I'll send a second PR soon to include the 2.0 runtime store alongside the 2.1 aspnetcore shared fx. Our goal is to have the host updated so this can be removed before rtm.

@natemcmaster
Copy link
Author

natemcmaster commented Jan 6, 2018

Test failures:


  • Windows_NT_ES x64 Debug Build
  • Windows_NT x86 Debug Build
  • Ubuntu16.04 x64 Debug Build
  • CentOS7.1 x64 Debug Build

test\dotnet-new.Tests\TemplateRestoresAndBuildsWithoutWarningsC#_angular\temp\temp.csproj(35,5): error : Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE.

How do I update these builds to install NodeJS?


  • Alpine3.6 x64 Debug Build

@JunTaoLuo any idea what we need to do to support Alpine Linux? I don't know if our native dependencies (libuv/sqlite) support musl-based Linux distros.


  • RHEL6 x64 Debug Build

@JunTaoLuo does our portable linux-x64 build support these OSes?

@natemcmaster
Copy link
Author

@livarcocc why is RHEL6 is building with UsePortableLinuxSharedFramework == false? I can fix this leg of the build by special casing `rhel.6-x64' to download the "portable linux" build of aspnetcore

@johnbeisner
Copy link

@janvorli
Can you answer Nate's question above please.

@johnbeisner
Copy link

@natemcmaster
"download the "portable linux" build of aspnetcore" - we were already doing just that.
From: https://devdiv.visualstudio.com/DevDiv/Default/_build/index?buildId=1272380&_a=summary
Downloading 'https://dotnetcli.azureedge.net/dotnet/Runtime/2.1.0-preview1-26105-02/dotnet-runtime-2.1.0-preview1-26105-02-linux-x64.tar.gz' to '/opt/code/bin/2/linux-x64/intermediate/coreSetupDownload/2.1.0-preview1-26105-02/combinedSharedHostAndFrameworkArchive.tar.gz'

@natemcmaster
Copy link
Author

@johnbeisner Ah. I think I'm using the wrong variable. I have CoreSetupRid, not SharedFrameworkRid.....will update

@natemcmaster
Copy link
Author

@johnbeisner I'm still getting SharedFrameworkRid == rhel.6-x64. don't know if that's by design or not, so I'm going to just manually update my conditions to map rhel.6-x64 to portable linux installers for aspnet

@natemcmaster
Copy link
Author

I've updated the tests to skip NodeJS, and fixed the issues in building for RHEL 6 and Alpine.

@livarcocc
Copy link

@natemcmaster Ubuntu failure seems legit:

21:03:05 �[39;49m�[31m
21:03:05        "/opt/code/build.proj" (default target) (1) ->
21:03:05        (BuildSdkDeb target) -> 
21:03:05          /opt/code/build/package/Installer.DEB.proj(28,7): error MSB3073: The command "sudo dpkg -i /opt/code/bin/2/linux-x64/packages/aspnetcore-runtime-2.1.0-preview1-28006-ubuntu.14.04-x64.deb" exited with code 1. [/opt/code/build.proj]

@natemcmaster natemcmaster changed the title Update to ASP.NET Core shared framework 2.1.0-preview1-28006 Update to ASP.NET Core shared framework 2.1.0-preview1-28031 Jan 9, 2018
@natemcmaster
Copy link
Author

@livarcocc I just pushed an update to use aspnet 2.1.0-preview1-28031 which includes our aspnet's debian agnostic installers.

@natemcmaster
Copy link
Author

@livarcocc prior to pushing the 28031 update to the PR, the build log failure was this:

21:03:02          Preparing to unpack .../aspnetcore-runtime-2.1.0-preview1-28006-ubuntu.14.04-x64.deb ...
21:03:02          Unpacking aspnetcore-runtime-2.1.0-preview1-28006 (2.1.0-preview1-28006-1) ...
21:03:05          dpkg: dependency problems prevent configuration of aspnetcore-runtime-2.1.0-preview1-28006:
21:03:05           aspnetcore-runtime-2.1.0-preview1-28006 depends on aspnetcore-store-2.0.3; however:
21:03:05            Package aspnetcore-store-2.0.3 is not installed.
21:03:05           aspnetcore-runtime-2.1.0-preview1-28006 depends on dotnet-runtime-2.1.0-preview1-26102-01; however:
21:03:05            Package dotnet-runtime-2.1.0-preview1-26102-01 is not installed.
21:03:05          
21:03:05          dpkg: error processing package aspnetcore-runtime-2.1.0-preview1-28006 (--install):
21:03:05           dependency problems - leaving unconfigured
21:03:05          Errors were encountered while processing:
21:03:05           aspnetcore-runtime-2.1.0-preview1-28006
21:03:05 

Do we need to have the transitive closure of debian packages available in order to build with the aspnetcore debian packages? If so, this will cause a coherence issue since dotnet/CLI currently consumes core-setup deb installers directly, and aspnetcore's deb installers also reference core-setup, but is not guaranteed to be the same version

<AspNetCoreRuntimePackageBrandName>aspnetcore-store</AspNetCoreRuntimePackageBrandName>
<AspNetCoreRuntimePackageFolderName>dev-26623</AspNetCoreRuntimePackageFolderName>
<AspNetCoreRuntimePackageVersion>2.1.0-preview1-26623</AspNetCoreRuntimePackageVersion>
<AspNetCoreVersion>$(MicrosoftAspNetCoreAppPackageVersion)</AspNetCoreVersion>

This comment was marked as spam.

This comment was marked as spam.

</PropertyGroup>

<Target Name="GetNuGetPackagesArchive"
Inputs="$(IntermediateArchive)"
Outputs="$(FinalArchive)"
Condition=" '$(IncludeNuGetPackageArchive)' == 'true' ">
<DownloadFile Uri="$(NugetPackagesArchiveBlobUrl)$(CoreSetupBlobAccessTokenParam)"
<DownloadFile Uri="$(NugetPackagesArchiveBlobUrl)"

This comment was marked as spam.

This comment was marked as spam.

@johnbeisner
Copy link

johnbeisner commented Jan 9, 2018

@natemcmaster
Have you looked at the 'coherence' check? In file: 'RuntimeCoherence.targets' Target='EvaluateRuntimeCoherence'

In your evaluation does the coherence check still work correctly?

@natemcmaster
Copy link
Author

Have you looked at the 'coherence' check? In file: 'RuntimeCoherence.targets' Target='EvaluateRuntimeCoherence'

Yes, I've looked at it. I believe it works...though I haven't verified this with an actual coherent version of aspnetcore yet.

@natemcmaster
Copy link
Author

https://ci.dot.net/job/dotnet_cli/job/master/job/debug_windows_nt_es_x64_prtest/529/ appears to be hung. What's the right dotnet-bot incantation to restart a PR build for one leg?

@mmitche
Copy link
Member

mmitche commented Jan 10, 2018

@dotnet-bot test Windows_NT_ES x64 Debug Build

@natemcmaster
Copy link
Author

@livarcocc @johnbeisner CI checks are green now. Ok to merge?

@livarcocc livarcocc merged commit e9d1d02 into dotnet:master Jan 10, 2018
@livarcocc
Copy link

Thanks for working through this @natemcmaster.

@janvorli
Copy link
Member

@natemcmaster

why is RHEL6 is building with UsePortableLinuxSharedFramework == false

The RHEL 6 cannot use portable build of the runtime, since the versions of various shared libraries we depend on are too old to be usable with the portable build. That's why the RHEL 6 version of coreclr is non-portable.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants