Skip to content

Conversation

NikolaMilosavljevic
Copy link
Member

Fixes dotnet/source-build#3612

This completes the work around sourcelink smoke-tests. Now, we're going to validate all symbols, which adds ~25 seconds to smoke-test runs.

Local VMR build and smoke-tests were successful. Full dotnet/dotnet validation build is in progress: https://dev.azure.com/dnceng/internal/_build/results?buildId=2285260&view=results

@NikolaMilosavljevic NikolaMilosavljevic requested a review from a team as a code owner October 6, 2023 16:58
Directory.CreateDirectory(SourcelinkRoot);

IList<string> failedFiles = ValidateSymbols(ExtractSymbolsPackages(GetAllSymbolsPackages()), InitializeSourcelinkTool());
string symbolsRoot = Directory.CreateDirectory(Path.Combine(SourcelinkRoot, "symbols")).FullName;
Copy link
Member

Choose a reason for hiding this comment

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

This directory should probably get cleaned up at the end of the test.

Copy link
Member Author

Choose a reason for hiding this comment

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

Parent directory gets deleted when we run smoke-tests the next time. But, I can see how this can delete some unnecessary test artifacts, to keep lower disk usage.

Will fix.

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed in 701e39a

@NikolaMilosavljevic
Copy link
Member Author

Validation build is failing in smoke-tests, on some platforms, and not always because of sourcelink tests. Investigating...

@NikolaMilosavljevic
Copy link
Member Author

Validation build is failing in smoke-tests, on some platforms, and not always because of sourcelink tests. Investigating...

Hmm, on one machine (Ubuntu 22.04 arm64) sourcelink processes are timing out after 5 seconds - it seems that the test machine is slow. I'll test if longer timeout will help.

@NikolaMilosavljevic NikolaMilosavljevic marked this pull request as draft October 9, 2023 18:54
@NikolaMilosavljevic
Copy link
Member Author

Validation build is failing in smoke-tests, on some platforms, and not always because of sourcelink tests. Investigating...

Hmm, on one machine (Ubuntu 22.04 arm64) sourcelink processes are timing out after 5 seconds - it seems that the test machine is slow. I'll test if longer timeout will help.

Still a lot of issues with a longer timeout - converting to draft until this is well understood.

@NikolaMilosavljevic
Copy link
Member Author

Validation build is failing in smoke-tests, on some platforms, and not always because of sourcelink tests. Investigating...

Hmm, on one machine (Ubuntu 22.04 arm64) sourcelink processes are timing out after 5 seconds - it seems that the test machine is slow. I'll test if longer timeout will help.

Still a lot of issues with a longer timeout - converting to draft until this is well understood.

With increased timeout, there are zero failures in sourcelink tests - previously there were timeouts on Alpine. However, more than half of platform legs are failing due to either of the following, or both tests:

DotNetWatchTests.WatchTests
WebScenarioTests.VerifyScenario(scenario: TestScenario { Commands = Build | Run | PublishComplex, Language = CSharp, NoHttps = False, ScenarioName = "WebScenarioTests", Template = Web, ... }

Investigating why this is only reproing in my validation runs.


IList<string> failedFiles = ValidateSymbols(ExtractSymbolsPackages(GetAllSymbolsPackages()), InitializeSourcelinkTool());
string symbolsRoot = Directory.CreateDirectory(Path.Combine(SourcelinkRoot, "symbols")).FullName;
Utilities.ExtractTarball(
Copy link
Member

Choose a reason for hiding this comment

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

I think it might be helpful to call out in a comment that the dotnet-sdk-symbols content is derived from dotnet-symbols-* therefore no validation is needed on it.

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed in b793194

@NikolaMilosavljevic
Copy link
Member Author

NikolaMilosavljevic commented Oct 12, 2023

Moved Sourcelink tests to a separate test collection - this causes Sourcelink tests to run separately and not starve other tests for CPU resources, that was previously causing them to timeout. With this change, validation build was successful.

Validation build: https://dev.azure.com/dnceng/internal/_build/results?buildId=2289036&view=results

@NikolaMilosavljevic NikolaMilosavljevic marked this pull request as ready for review October 12, 2023 15:56
@NikolaMilosavljevic
Copy link
Member Author

NikolaMilosavljevic commented Oct 12, 2023

This PR needs a change for all-symbols package name due to #17521