Skip to content
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

Retarget xplat verification to netcoreapp5.0 #3386

Merged

Conversation

heng-liu
Copy link
Contributor

@heng-liu heng-liu commented May 9, 2020

Bug

Fixes: NuGet/Home#9505
Regression: No

  • Last working version:
  • How are we preventing it in future:

Fix

Details:
1.Retarget xplat verification projects to netcoreapp5.0 instead of netstandard2.1
2.Add netstandard2.1 to the list of SigningNotSupported
3.Generate NuGet.Build.Tasks.Pack nupkg with TFM netstandard2.0 instead of netstandard2.1. (pack will not be affected by xplat verification, so it still use the netstandard2.0 bits.

Our final goal is to retarget xplat verication to net5.0.
But since VSEng-MicroBuildVS2019(and SXS) agent pool will only install stable version of VS on it. And the net5.0 could only be "recognized" correctly by the VS which is in preview. We will encounter build error if we retarget to net5.0 for now.
So we use this workaround(netcoreapp5.0 instead of net5.0)

Testing/Validation

Tests Added: Yes/No
Reason for not adding tests:
Validation:

@heng-liu heng-liu changed the title retarget net5.0 Retarget xplat verification to netcoreapp5.0 May 9, 2020
@heng-liu
Copy link
Contributor Author

heng-liu commented May 9, 2020

Temporarily set TreatWarningsAsErrors to false, so that it won't be blocked by errors reported by CodeAnalysis.FxCopAnalyzer.
Will change back to true when build is done.

Copy link
Member

@nkolev92 nkolev92 left a comment

Choose a reason for hiding this comment

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

Looks good overall.

What's the plan with the warnings?

@@ -8,7 +8,7 @@
<VSServicesVersion>16.153.0</VSServicesVersion>
<VSThreadingVersion>16.5.126</VSThreadingVersion>
<!-- TODO - remove this when temporary patching is no longer necessary. See https://github.com/NuGet/Home/issues/8508 -->
Copy link
Member

Choose a reason for hiding this comment

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

Is this still necessary per the above comment?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The comment may not be the accurate..
So my understanding is:
the temporary patching is for our dotnet integration test before inserting into dotnet.
Once we inserted into dotnet, dotnet will automatically update the deps.json files if they retarget the netcoreapp5.0 version of our code.
Then before the second insertion, we can remove the temporary patching.
Is that correct? If yes, we have to keep temprorary patching until we finish the first insertion, right?

Copy link
Member

Choose a reason for hiding this comment

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

That's fine but the issue is closed.

You should re-open the issue if it's still relevant.

Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks Nikolche! Updated the link to NuGet/Home#8952

@heng-liu
Copy link
Contributor Author

heng-liu commented May 9, 2020

Looks good overall.

What's the plan with the warnings?

@kartheekp-ms said he would run another baseline.
Do you have any concerns?

@nkolev92
Copy link
Member

nkolev92 commented May 9, 2020

@kartheekp-ms said he would run another baseline.
Do you have any concerns?

@heng-liu

Just wanted to know if it's gonna happen in this PR, in a new one before going back to dev, or if we're gonna try to fix them.

The idea with the analyzers is to actually address the issues that are brought up, not to keep suppressing them.

@heng-liu
Copy link
Contributor Author

Thanks Nikolche~
Raised an issue for new warnings for new code NuGet/Home#9546

@heng-liu heng-liu requested a review from nkolev92 May 13, 2020 16:18
Copy link
Member

@zivkan zivkan left a comment

Choose a reason for hiding this comment

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

we really need to improve how we do target framework checking in our msbuild files, but that's for another PR.

@heng-liu heng-liu force-pushed the dev-hengliu-xplat-retarget2-net5 branch from 42eac15 to 29d9be3 Compare May 18, 2020 18:23
@heng-liu heng-liu merged commit 14fa212 into dev-feature-xplatVerification May 18, 2020
@heng-liu heng-liu deleted the dev-hengliu-xplat-retarget2-net5 branch May 18, 2020 18:24
heng-liu added a commit that referenced this pull request May 20, 2020
* retarget netcoreapp5.0 (a workaround for net5.0)
heng-liu added a commit that referenced this pull request May 26, 2020
* retarget netcoreapp5.0 (a workaround for net5.0)
heng-liu added a commit that referenced this pull request Jun 12, 2020
* retarget netcoreapp5.0 (a workaround for net5.0)
heng-liu added a commit that referenced this pull request Jun 16, 2020
* retarget netcoreapp5.0 (a workaround for net5.0)
heng-liu added a commit that referenced this pull request Jun 17, 2020
* retarget netcoreapp5.0 (a workaround for net5.0)
heng-liu added a commit that referenced this pull request Jun 19, 2020
* retarget netcoreapp5.0 (a workaround for net5.0)
heng-liu added a commit that referenced this pull request Jun 19, 2020
* retarget netcoreapp5.0 (a workaround for net5.0)
aortiz-msft pushed a commit that referenced this pull request Jun 20, 2020
* Signing: Support signature verification on .NET Core

Remove 2nd N.B.T.P package (#2984)

remove WorkaroundNetStandard target, change SDK for build from 3.0 preview to 3.1 stable (#3161)

* remove WorkaroundNetStandard target, change SDK for build from 3.0 preview to 3.1 stable version, fix error; change LockSDKVersion default value from empty string to false; apply Linux workaround in my change

Retarget to netcore5.0 (#3162)

* retarget to netcore5.0;  Linux script workaround need to apply for downloading SDK for build

add pkcs and cng packages

Temporary fix on patching SDK, add System.Security.Cryptography.Pkcs.dll and update deps.json, use dll from .nuget/packages

Address PR comments

implement add cert to store on Mac; display openssl version (#3166)

Implement timestamp integrity verification; Implement an equivalent NativeCms; enable signing APIs and tests (#3168)

* implement timestamp integrity verification; implement ManagedCms; enable signing APIs and tests

fix xplat verification branch after rebase (#3191)

Fixes: NuGet/Home#9012

check different cross-platform error messages for self-signed cert test (#3208)

Fixes: NuGet/Home#8933

Xplat Signing/Verification : Fix broken tests for setting privatekey of a X509Certificate2 (#3195)

use workaround to set private key for X509Certificate2 (netcore), change ToRSA to workaround for netcore(especially for non-windows)

enable PathTooLongException test (#3216)

Fixes: NuGet/Home#8920

enable TrustedSignerActionsProvider on netcore, along with tests (#3213)

Fixes: NuGet/Home#8921

Enable SignedPackageIntegrityVerificationTests for netcore5.0 (#3220)

Enable SignedPackageIntegrityVerificationTests for netcore, remove extra preprocessors

Enable timestamp provider test and fix 3 broken tests (#3210)

enable all unit tests; enable 8 more tests; enable timestampProviderTest; fix 3 broken tests in TimestampProviderTests

Fix 4 tests in SignatureTrustAndValidityVerificationProviderTests (#3242)

fix untrusted msg for different platforms

fixed broken tests using utility methods (#3263)

disable outdated tests (#3274)

enable 4 tests on Mac (#3275)

fix 5 broken tests in SignatureTrustAndValidityVerificationProviderTests, add workaround for Linux (#3252)

fix broken test case ExecuteCommandAsync_WithAmbiguousMatch_ThrowsAsync (#3291)

* Enable test ExecuteCommandAsync_WithMultiplePackagesAndInvalidCertificate_RaisesErrorsOnceAsync (#3342)

* enable a test, change the comments; extend test limitation on Linux

* Updated SDK version and removed the hardcoded version when reading from JSON file (#3372)

* update Pkcs package to the preview3 version (#3382)

* fix 2 warnings in CodeAnalysis (#3388)

* fix 2 warnings in CodeAnalysis

* disable dynamic revoke tests on Mac (#3373)

* fix 1 test (#3371)

* Fix more warnings reported by CodeAnalysis (#3393)

* fix string warnings raised by CodeAnalysis

* Retarget xplat verification to netcoreapp5.0 (#3386)

* retarget netcoreapp5.0 (a workaround for net5.0)

* fix all the rest warnings raised by code analysis (#3401)

* Suppress CA1307 warning for string.GetHashCode() method (#3404)

* Linux test failure due to generic exception (#3405)

* add TFM netcoreapp5.0 to N.B.T.Console and N.P.Core projects (#3419)

* add TFM netcoreapp5.0 to N.B.T.Console and N.P.Core projects

* add PIN prompt for netcore (#3389)

* Run dotnet nuget tests on multiple TFMs (#3387)

* enabled mac assertions

* Revert "enabled mac assertions"

This reverts commit d8a52e2.

* Enable test GetCertificateChain_WithUntrustedRoot_Throws on Mac (#3428)

* run signing integration tests cross plat (#3415)

* added GetNonce() to IRfc3161TimestampRequest interface (#3427)

* disable test for netcore (#3445)

* log Status and StatusInformation, fix 2 tests (#3268)

* Disable verification during extraction for Mono, disable a test on Mono (#3451)

* disable verification during extraction on mono,disable a mono test on Mac

* adapt 2 newly added dotnet integration tests for multiple TFMs (#3460)

* remove useless Sdk2x.targets

* get TimestampTests working again (#3218)

* get TimestampTests working again

Fixes: NuGet/Home#8935

* change GetTimestampAsync into internal

* fix runFuncTests.sh and InstallCLIforBuild.sh

* address feedback

* upgrade dotnet 5 to preview4 as preview5 is broken

* Fix exception thrown in SigningTestFixture during disposing (#3464)

Co-authored-by: Kartheek Penagamuri <52756182+kartheekp-ms@users.noreply.github.com>
Co-authored-by: Andy Zivkovic <zivkan@users.noreply.github.com>
Co-authored-by: Kat Marchán <kzm@zkat.tech>
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