-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Enable Arcade V3 publishing in PR Validation #73221
Conversation
…m/dotnet/roslyn into dev/jorobich/pr-val-v3-publishing
displayName: Publish Symbols Dry-Run | ||
inputs: | ||
filePath: eng\common\sdk-task.ps1 | ||
arguments: -task PublishToSymbolServers /p:DryRun="true" -restore -msbuildEngine dotnet |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Borrowed this bit from Arcades PR CI. Since we are using v3 publishing, we need to emulate what the Maestro Build Promotion pipeline does to publish symbols.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah nice - this means we can have some verification of publish symbols in regular CI now right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, it was already happening in this job, but was using v2 publishing. That caused CI to fail now that we need the exclusions file. This symbol publishing method supports the exclusion file.
@@ -388,9 +388,22 @@ stages: | |||
- powershell: eng/build.ps1 -configuration Release -prepareMachine -ci -restore -binaryLogName Restore.binlog | |||
displayName: Restore | |||
|
|||
- powershell: eng/build.ps1 -configuration Release -prepareMachine -ci -build -pack -publish -sign -binaryLogName Build.binlog | |||
- powershell: eng/build.ps1 -configuration Release -prepareMachine -ci -build -pack -publish -sign -binaryLogName Build.binlog /p:DotnetPublishUsingPipelines=true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By enabling v3 publishing, symbol publishing is no longer performed during the build. This is necessary since the v2 publishing does not support the exclusions file which is necessary for the SQLite linux .so files. This means we need to perform symbol publishing in an equivalent way as v3 does.
In order to prove out the changes to the PR validation pipeline (#73221), we need to ensure packages are being published from the feature branch.
displayName: Publish Symbols Dry-Run | ||
inputs: | ||
filePath: eng\common\sdk-task.ps1 | ||
arguments: -task PublishToSymbolServers /p:DryRun="true" -restore -msbuildEngine dotnet |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah nice - this means we can have some verification of publish symbols in regular CI now right?
<NoWarn>$(NoWarn);NU5100</NoWarn> | ||
<!-- | ||
NU5100: Since this is not a standard nuget package and is only consumed by the extension build, we don't care if the folder structure doesn't match what nuget expects. | ||
NETSDK1206: Until we move to a newer release of the SQLitePCLRaw packages (2.1.6+) that removes the libs for alpine RIDs, we have to ignore the SDK warning about distribution specific RIDs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be nice to create and link to a tracking issue for this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Opened #73578 to track.
CloudBuild completed meaning the packages were signed and published. Merging. |
Switch to v3 publishing in order to use publish symbol exclusions. Also, sets a more descriptive build number including the PR author and title.
Example of fancy build number:
Test Run: https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=9603629&view=results (microsoft)
Test Insertion: https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/552310 (microsoft)
Run to verify Correctness Build Assets job catches symbol publishing issues: https://dev.azure.com/dnceng-public/public/_build/results?buildId=680129&view=logs&j=0f289b55-e51e-537b-a78d-659668d39b05&t=a5273ed0-e1ba-530c-c0ed-9d9a595b9b3b