Skip to content

Release v2 with ESRP - #1402

Open
Elizabeth Craig (ecraig12345) wants to merge 1 commit into
v2from
v2-release
Open

Release v2 with ESRP#1402
Elizabeth Craig (ecraig12345) wants to merge 1 commit into
v2from
v2-release

Conversation

@ecraig12345

Copy link
Copy Markdown
Member

Update .ado/release.yml to use the current ESRP approach and delete the old release pipeline.

In this branch, it makes more sense to use the official EsrpRelease task, since there's only one package. However, the publish operations are done with beachball v3 based on a version installed under packages/beachball-v3, due to its better auth support. (The PR pipeline now runs beachball:v3 check for validation.)

To avoid security alerts on verdaccio's outdated tree of deps, verdaccio and all other deps specific to the mock Registry and the packagePublish tests that use it have been removed, and the relevant tests have been disabled.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Comment thread package.json
"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/';
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.

2 participants