[!NOTE]
This PR uses a PDB generation tool, gopdb, which is still experimental and not available publicly.
This PR adds support for publishing symbols in the form of PDBs. It is enabled by default for the rolling-internal pipeline.
This is a summary of the changes:
Download and build gopdb from the internal AzDO mirror.
Update the build command to run the gopdb tool for all the Go toolchain binaries.
Store all PDBs as pipeline artifacts
Update the publish stage to also publish the PDB files using PublishSymbols@2. Symbols are published into the private dnceng symbol server, which is the only server that our pipeline has access to.
To achieve the previous task, I had to move the publish-stage.yml execution to builders-to-stages.yml, as it now needs to know which builders were run in order to download the symbol artifacts they published.
This PR adds support for publishing symbols in the form of PDBs. It is enabled by default for the
rolling-internal
pipeline.This is a summary of the changes:
gopdb
tool for all the Go toolchain binaries.publish-stage.yml
execution tobuilders-to-stages.yml
, as it now needs to know which builders were run in order to download the symbol artifacts they published.See these changes in action in https://dev.azure.com/dnceng/internal/_build/results?buildId=2439083&view=results.