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

Enable Arcade V3 publishing in PR Validation #73221

Merged
merged 46 commits into from
May 20, 2024

Conversation

JoeRobich
Copy link
Member

@JoeRobich JoeRobich commented Apr 24, 2024

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:
image

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

@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Infrastructure untriaged Issues and PRs which have not yet been triaged by a lead labels Apr 24, 2024
displayName: Publish Symbols Dry-Run
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishToSymbolServers /p:DryRun="true" -restore -msbuildEngine dotnet
Copy link
Member Author

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.

Copy link
Member

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?

Copy link
Member Author

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
Copy link
Member Author

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.

JoeRobich added a commit that referenced this pull request May 19, 2024
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
Copy link
Member

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.
Copy link
Member

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

Copy link
Member Author

Choose a reason for hiding this comment

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

Opened #73578 to track.

@JoeRobich
Copy link
Member Author

CloudBuild completed meaning the packages were signed and published. Merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Infrastructure untriaged Issues and PRs which have not yet been triaged by a lead
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants