Skip to content

Replace KoreBuild with Arcade #11122

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

Merged
merged 77 commits into from
Jun 19, 2019
Merged

Replace KoreBuild with Arcade #11122

merged 77 commits into from
Jun 19, 2019

Conversation

natemcmaster
Copy link
Contributor

@natemcmaster natemcmaster commented Jun 12, 2019

Part of #7280

Resolves dotnet/arcade#88

High level changes

  • Update build.sh/ps1 to call into Arcade instead of KoreBuild. This completely removes our usage of KoreBuild
  • Move all contents in build/ (the KoreBuild convention) into their matching version in eng/
  • Remove dead code and other features which were KoreBuild only

TODO (before this PR is ready to merge)

TODO (will be done in a separate PR)
* This removed support for generating Maestro manifests during build. We'll need to re-enable this somehow. handled in this PR by keeping existing Maestro manifest generation

@Eilon Eilon added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Jun 12, 2019
@JunTaoLuo JunTaoLuo self-requested a review June 12, 2019 17:22
John Luo and others added 2 commits June 12, 2019 13:46
* capture test results in xunit form
* attempt to fix code check
* restore before linux build
* remove duplicate signinfos
@natemcmaster
Copy link
Contributor Author

Hmm, SiteExtensions are super broken by this. I'm looking at the targets which implement the site extension build and big chunks will probably need to be rewritten to work with Arcade.

@JunTaoLuo would you be okay temporarily disabling the site extension projects and doing that separately?

@JunTaoLuo
Copy link
Contributor

Sure let's separate that work out of this PR. Let's discuss what the issues are.

* exclude node_modules from unique project check
* fixup signing props
* Remove unused NoWarns
* Skip building site extension
* Suppress xunit color in console output
* Install x86 runtime
@JunTaoLuo
Copy link
Contributor

@aspnet-hello
Copy link

This comment was made automatically. If there is a problem contact aspnetcore-build@microsoft.com.

I've triaged the above build. I've created/commented on the following issue(s)
https://github.com/aspnet/AspNetCore-Internal/issues/2623
https://github.com/aspnet/AspNetCore-Internal/issues/2410
https://github.com/aspnet/AspNetCore-Internal/issues/2415

@JunTaoLuo
Copy link
Contributor

Tests are passing! Just need to verify build output before merging.

@JunTaoLuo
Copy link
Contributor

Just missing a signoff from @dougbu and another run of the tests to see if there are any flakiness.

@natemcmaster
Copy link
Contributor Author

image

Nice work! Thanks for following through on this John!

Copy link
Member

@dougbu dougbu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looks good (though I'm not sure I really got everything in this huge PR)

-arch x86
-NoRestore
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this gone? Same for a few other -NoRestore and --no-restore removals.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm I might want to investigate this separately. Specifically because I know there were some changes with lifetimes of targets and interleaving of steps introduced with converting to arcade so these changes may be deliberate. Since I wouldn't want to hold up the PR and this is more of an optimization, I would do this as a follow up.

<ProjectReference Include="$(RepoRoot)src\DefaultBuilder\testassets\DependencyInjectionApp\DependencyInjectionApp.csproj" ReferenceOutputAssemblies="false" />
<ProjectReference Include="$(RepoRoot)src\DefaultBuilder\testassets\StartRequestDelegateUrlApp\StartRequestDelegateUrlApp.csproj" ReferenceOutputAssemblies="false" />
<ProjectReference Include="$(RepoRoot)src\DefaultBuilder\testassets\StartRouteBuilderUrlApp\StartRouteBuilderUrlApp.csproj" ReferenceOutputAssemblies="false" />
<ProjectReference Include="$(RepoRoot)src\DefaultBuilder\testassets\StartWithIApplicationBuilderUrlApp\StartWithIApplicationBuilderUrlApp.csproj" ReferenceOutputAssemblies="false" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these new references to projects not mentioned elsewhere showing up due to merges from 'master'?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added these references to ensure build order between test assets and functional tests.

@@ -173,7 +173,8 @@ public void ConfigureDefaultServiceProvider(IWebHostBuilder builder)
options.ValidateScopes = true;
});

Assert.Throws<InvalidOperationException>(() => hostBuilder.Build().Start());
using var host = hostBuilder.Build();
Assert.Throws<InvalidOperationException>(() => host.Start());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots 'o C# changes from here on also look odd. Are these also due to merges from 'master'?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No this is to prevent a hang. Not disposing generic host builders caused this so I had to add using in several places. @Tratcher is this the issue tacking that bug dotnet/extensions#1363?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct

@JunTaoLuo
Copy link
Contributor

If the next round of tests succeed, I'll conclude that these changes have not introduced any additional flakiness (a total of 3 successes) in our builds and will merge. I'll also file follow up issues.

@jkotalik
Copy link
Contributor

jkotalik commented Jun 19, 2019

@JunTaoLuo I'll also make a follow-up PR to fix potential native dll copying issues. Let's get this in!

Helix completed, not sure why the PR check isn't showing green/red.

@dougbu
Copy link
Member

dougbu commented Jun 19, 2019

@aspnet-hello
Copy link

This comment was made automatically. If there is a problem contact aspnetcore-build@microsoft.com.

I've triaged the above build. I've created/commented on the following issue(s)
https://github.com/aspnet/AspNetCore-Internal/issues/2489

@dougbu
Copy link
Member

dougbu commented Jun 19, 2019

Helix completed, not sure why the PR check isn't showing green/red.

We're still seeing the occasional missed messages between AzDO and GitHub. Since the Helix failure is of a known-flaky test, I suggest we get this in. @JunTaoLuo please do the honours.

@JunTaoLuo JunTaoLuo merged commit 4fde84a into master Jun 19, 2019
@ghost ghost deleted the namc/arcade branch June 19, 2019 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework
Projects
None yet
Development

Successfully merging this pull request may close these issues.

AddAllProjectRefsToSolution fails for Middleware solution Converge "KoreBuild" and Arcade
7 participants