Release v2 with ESRP - #1402
Open
Elizabeth Craig (ecraig12345) wants to merge 1 commit into
Open
Conversation
Copilot started reviewing on behalf of
Elizabeth Craig (ecraig12345)
August 22, 2026 03:34
View session
Contributor
There was a problem hiding this comment.
Pull request overview
Modernizes v2 releases to use ESRP while running publish operations through pinned Beachball v3 tooling.
Changes:
- Replaces legacy release pipelines with staged ESRP build, publish, and push jobs.
- Adds Beachball v3 and npm authentication tooling.
- Removes Verdaccio dependencies and disables affected integration tests.
Reviewed changes
Copilot reviewed 19 out of 20 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.ado/publish.yml |
Removes the legacy prepublish pipeline. |
.ado/release.yml |
Implements the ESRP release pipeline. |
.ado/templates/readonly-variables.yml |
Adds reusable read-only variable declarations. |
.ado/templates/setup.yml |
Adds shared authenticated pipeline setup. |
.github/workflows/pr.yml |
Adds Node 22 and v3 validation. |
.github/workflows/release.yml |
Removes the GitHub release workflow. |
.vscode/settings.json |
Updates editor settings. |
.yarn/plugins/@yarnpkg/plugin-engines.cjs |
Updates the engines plugin. |
.yarn/plugins/@yarnpkg/plugin-npmrc.cjs |
Adds npmrc authentication support. |
.yarnrc.yml |
Configures updated Yarn plugins. |
beachball.config.js |
Makes configuration compatible with v3. |
change/beachball-e494bbac-87bd-4788-8b3b-982bbee39495.json |
Records the release setup change. |
package.json |
Adds v3 command wrappers. |
packages/beachball-v3/package.json |
Adds the pinned v3 workspace. |
packages/beachball/package.json |
Removes obsolete registry dependencies. |
packages/beachball/src/__functional__/packageManager/getNpmPackageInfo.test.ts |
Uses the configured release registry. |
packages/beachball/src/__functional__/packageManager/packagePublish.test.ts |
Disables Verdaccio-backed tests. |
packages/beachball/src/__fixtures__/registry.ts |
Suppresses checks for the disabled fixture. |
packages/beachball/src/env.ts |
Removes legacy release-pipeline detection. |
yarn.lock |
Updates the resolved dependency graph. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| "scripts": { | ||
| "beachball": "node ./packages/beachball/lib/cli.js", | ||
| "beachball:v3": "yarn workspace @microsoft/beachball-v3 run beachball", | ||
| "beachball-auth-helper:v3": "yarn workspace @microsoft/beachball-auth-helper-v3 run beachball-auth-helper", |
| // is low enough that it doesn't really matter. | ||
| const registry = 'https://registry.npmjs.org/'; | ||
| // NOTE: For the release build, this uses the value set in release.yml. | ||
| const registry = process.env.REGISTRY_URL || 'https://registry.npmjs.org/'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update
.ado/release.ymlto use the current ESRP approach and delete the old release pipeline.In this branch, it makes more sense to use the official
EsrpReleasetask, since there's only one package. However, the publish operations are done withbeachballv3 based on a version installed underpackages/beachball-v3, due to its better auth support. (The PR pipeline now runsbeachball:v3 checkfor validation.)To avoid security alerts on
verdaccio's outdated tree of deps,verdaccioand all other deps specific to the mockRegistryand thepackagePublishtests that use it have been removed, and the relevant tests have been disabled.