Skip to content

Conversation

@dagood
Copy link
Member

@dagood dagood commented Sep 11, 2020

This change adds support for IgnorePatterns to the prebuilt usage baseline file. This means a repo on arcade-powered source-build can have this content at eng/SourceBuildPrebuiltBaseline.xml to ignore all prebuilt usage when onboarding:

<UsageData>
  <IgnorePatterns>
    <UsagePattern IdentityGlob="*/*" />
  </IgnorePatterns>
</UsageData>

Then, usage can be gradually decreased and the UsagePatterns can be tweaked to be more specific to the repo. The eventual goal is to allow necessary prebuilts (e.g. cycles in the dependency graph), but make unexpected new prebuilts show up as PR validation failures. This is for dotnet/source-build#1715

It supports regex via IdentityRegex for even more flexibility if needed.

The ignored usage still shows up in the more detailed reports for analysis, but they don't cause an error. (Or cause a warning--because warnings are treated as errors in Arcade.)

I'm also planning to port this to dotnet/source-build for more sustainability there: dotnet/source-build#1726.

This PR also adds a simple test project for a few scenarios I wanted to verify. (This is the test project I tried to add in #6121, but I'd backed it out when I didn't want to spend the time to figure out why it was failing in CI.)

@dagood dagood self-assigned this Sep 11, 2020
@dagood dagood requested review from crummel and dseefeld September 11, 2020 16:41
@dagood
Copy link
Member Author

dagood commented Sep 11, 2020

@markwilkie Who from Arcade would be interested in looking at this? I think the potentially interesting/disruptive thing is the added test project. (The source-build task DLL is only used very specifically when arcade-powered source-build is enabled.)

@dagood dagood marked this pull request as ready for review September 11, 2020 16:45
@dagood
Copy link
Member Author

dagood commented Sep 11, 2020

Mark mentioned in a chat that he's alright with our own reviews here, since the risk of a break here is pretty much just for us. 😄 Merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants