Skip to content

Update TestImpact public key in additional IVTs#45763

Merged
sharwell merged 3 commits intodotnet:masterfrom
vritant24:dev/vrbhardw/testimpactUpdateKey
Jul 13, 2020
Merged

Update TestImpact public key in additional IVTs#45763
sharwell merged 3 commits intodotnet:masterfrom
vritant24:dev/vrbhardw/testimpactUpdateKey

Conversation

@vritant24
Copy link
Member

@vritant24 vritant24 commented Jul 7, 2020

The TestImpact repository is moving from GitHub into AzDo within the Vs Unit Testing repo, and thus the public key of the assemblies will change.
The restricted IVTs are changed to work with the new public key

@dnfadmin
Copy link

dnfadmin commented Jul 7, 2020

CLA assistant check
All CLA requirements met.

@vritant24 vritant24 marked this pull request as ready for review July 8, 2020 00:24
@vritant24 vritant24 requested a review from a team as a code owner July 8, 2020 00:24
<InternalsVisibleTo Include="Microsoft.CodeAnalysis.Remote.ServiceHub" />
<InternalsVisibleTo Include="Microsoft.CodeAnalysis.Remote.Workspaces" />
<RestrictedInternalsVisibleTo Include="Microsoft.CodeAnalysis.LiveUnitTesting.Orchestrator" Partner="UnitTesting" />
<RestrictedInternalsVisibleTo Include="Microsoft.CodeAnalysis.LiveUnitTesting.Orchestrator" Partner="UnitTesting" Key="$(UnitTestingKey)" />
Copy link
Member

@Cosifne Cosifne Jul 8, 2020

Choose a reason for hiding this comment

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

tag @mavasani
So Vritant is doing a repo move (testimpact to VS Unit Testing). So it affects the public keys used.
Is there anyway to temporarily keep the old IVT and at the same time adding a new one with a different key? (Because we don't want to break the lastest master)

Or maybe we need to sync with the roslyn insertion?

Copy link
Contributor

Choose a reason for hiding this comment

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

The cleanest way to keep things from breaking is preserving the key during the source code move (i.e. no Roslyn change required). If the key does change, it might be possible to have duplicate lines here (one with each key), but if that doesn't work it will need to be a coordinated insertion.

Copy link
Member Author

Choose a reason for hiding this comment

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

It wouldn't be ideal to preserve the existing key, and having duplicate lines here does not work in my testing. Whether it's two RestrictedInternalsVisibleTo or an additional InternalsVisibleTo. So it looks like it will have to be a coordinated insertion if there isn't another way.
What would be the process of doing so?

Copy link
Member Author

Choose a reason for hiding this comment

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

I was incorrect in my testing. Older packages were being pulled in from my .nuget cache and producing unexpected results since the built dev package versions didn't change.
Having duplicate roslyn versions do work, and so this can be phased in. So, pushing this change in shouldn't break the current testimpact, and should also work with the new binaries with different public keys.

Copy link
Contributor

Choose a reason for hiding this comment

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

Do we have a work item tracking removal of these duplicate entries?

Copy link
Member Author

Choose a reason for hiding this comment

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

@vritant24
Copy link
Member Author

@mavasani would there be a way to expose the IVTs to both the old assemblies and the new assemblies with different public keys and the same name?
The code in this PR currently doesn't work in doing what I thought it would, where the internals are exposed to assemblies with both public keys.
It would be ideal to have a way to phase this change in as opposed to coordinating a cooperative inserting with VS Unit Testing and Roslyn

@sharwell sharwell added 0 - Backlog Area-IDE Community The pull request was submitted by a contributor who is not a Microsoft employee. and removed 0 - Backlog labels Jul 8, 2020
This reverts commit ca662f2.
@sharwell sharwell merged commit 7023b0b into dotnet:master Jul 13, 2020
@ghost ghost added this to the Next milestone Jul 13, 2020
@JoeRobich JoeRobich modified the milestones: Next, 16.8.P1 Jul 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-IDE Community The pull request was submitted by a contributor who is not a Microsoft employee.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants