fix(post-publish): handle Rush version bump in npm-post-publish pipeline#6
Closed
fix(post-publish): handle Rush version bump in npm-post-publish pipeline#6
Conversation
* Initial plan * Fix race condition in FileSystem.create*Link helpers by factoring isExistError handler into dedicated helpers Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com>
…osoft#5666) * Introduce the heft-image-typings-generator-plugin. * Use the new plugin in build-tests projects. * Add the typigns generator to the web rig. * Rewrite the plugin to handle general static assets. * fixup! Rewrite the plugin to handle general static assets. * fixup! Rewrite the plugin to handle general static assets. * Remove usage of the plugin in the heft-typescript-composite-test project. * fixup! Use the new plugin in build-tests projects. * fixup! Rewrite the plugin to handle general static assets. * Add unit test. * Rationalzie the plugin options. * fixup! Use the new plugin in build-tests projects. * fixup! Rationalzie the plugin options. * PR feedback. * fixup! Rationalzie the plugin options. * fixup! PR feedback. * Refactor binary and text to resource and source.
…ia storageEndpoint (microsoft#5664) * add optional storageEndpoint config * add change * Update common/changes/@microsoft/rush/feat-custom-endpoint-azure-blob-storage_2026-02-23-03-40.json Co-authored-by: Ian Clanton-Thuon <iclanton@users.noreply.github.com> --------- Co-authored-by: Ian Clanton-Thuon <iclanton@users.noreply.github.com>
…put folders (microsoft#5665) * [heft-typescript-plugin] Add emitModulePackageJson option for ESM output folders Add a new 'emitModulePackageJson' option for 'additionalModuleKindsToEmit' entries in typescript.json. When enabled, the TypeScript plugin writes a package.json with the appropriate "type" field ("module" for ESNext/ES2015, "commonjs" for CommonJS) to the output folder after compilation. This ensures Node.js correctly interprets .js files in ESM output folders like lib-esm/, fixing named import failures on Node 18 where .js files without a nearest "type": "module" package.json are treated as CommonJS. Enabled by default in local-node-rig and decoupled-local-node-rig for their lib-esm output. * fixup! [heft-typescript-plugin] Add emitModulePackageJson option for ESM output folders * Convert something to a destructuring. * fixup! [heft-typescript-plugin] Add emitModulePackageJson option for ESM output folders
…ge.json and pnpm-lock.yaml (microsoft#5668) * Update ajv to version 8.18.0 and adjust related dependencies in package.json and pnpm-lock.yaml * Update ajv to version 8.18.0 and adjust related dependencies in package.json and pnpm-lock.yaml * Rush change. --------- Co-authored-by: Lucas Akira Uehara <ksakira10@users.noreply.github.com> Co-authored-by: Ian Clanton-Thuon <iclanton@users.noreply.github.com>
…er-coersion (microsoft#5669) * feat: playwright-versioning Allow manually passing in the version of playwright to use for the tunnel and still default to the playwright-core version if not provided. This allows us to use the tunnel with different versions of playwright without needing to update the tunnel package itself. * bugfix: remove-semver-coercion Remove semver coercion from the Playwright version in the handshake message. This allows for more flexible version handling and avoids issues with prerelease version formats. * misc: rush-change
…es after publish. (microsoft#5661) * Add AzDO pipeline to bump decoupled local dependencies after publish * Fix GitHub PR step to show API error responses on failure * Use service connection credentials from git config for GitHub API calls
…post-publish pipeline. (microsoft#5670)
* Add AzDO pipeline to bump decoupled local dependencies after publish * Fix GitHub PR step to show API error responses on failure * Use service connection credentials from git config for GitHub API calls * Extract push + GitHub PR steps into a reusable template * Address PR review: sanitize inputs, protect credentials, add security comments * Rename to npm-post-publish, publish api artifact, add API docs update stage * Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * Extract api artifact publishing to separate branch * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * Only install to repo-toolbox. * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * fixup! Rename to npm-post-publish, add api artifact, add API docs update stage using multi-repo checkout * TEMP: download api artifact from latest npmPublish for testing * Use api-documenter-docusaurus-plugin. * fixup! Use api-documenter-docusaurus-plugin. * chore: bump decoupled local dependencies * chore: generate change files for decoupled dependency bump --------- Co-authored-by: Ian Clanton-Thuon <iclanton@users.noreply.github.com> Co-authored-by: Rushbot <rushbot@users.noreply.github.com>
…crosoft#5672) * Bump TSDoc dependencies. * Update Bump @typescript-eslint/* dependencies.
…yles` and `@rushstack/hashed-folder-copy-plugin`. (microsoft#5673) * Normalize .npmignores. * Rush change. * fixup! Normalize .npmignores. * fixup! Rush change.
* chore: bump decoupled local dependencies * chore: generate change files for decoupled dependency bump --------- Co-authored-by: Rushbot <rushbot@users.noreply.github.com>
…t#5678) Made-with: Cursor
…icrosoft#5688) * correct launch option * rush change * ext version bump --------- Co-authored-by: supsing <supsing_microsoft@users.noreply.github.com>
…icrosoft#5700) * Initial plan * Add RUSH_QUIET_MODE environment variable Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com> * Remove erroneous @microsoft/rush-lib change file Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com> * Deduplicate quiet mode handling in install-run-rush; fix reset() method Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com> * Update rush-lib.api.md with quietMode and RUSH_QUIET_MODE API entries Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com> * Fix RUSH_QUIET_MODE position in rush-lib.api.md to match source declaration order Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com>
microsoft#5708) Agent-Logs-Url: https://github.com/microsoft/rushstack/sessions/32548397-4715-49df-ac93-946ff98db320 Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com>
microsoft#5707) * fix: add preventAutoclose to ProblemCollector, inject strip-colors transform, always wire problemCollector Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com> Agent-Logs-Url: https://github.com/microsoft/rushstack/sessions/8b2eb275-c191-44e9-8d69-dd1c166c7985 * fix: add @microsoft/rush patch change file Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com> Agent-Logs-Url: https://github.com/microsoft/rushstack/sessions/1bcedf3e-f266-4978-ad80-c7ccb325056a --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: dmichon-msft <26827560+dmichon-msft@users.noreply.github.com>
Co-authored-by: Rushbot <rushbot@users.noreply.github.com>
…oft#5718) Co-authored-by: Ben Papp <BPapp-MS@users.noreply.github.com>
…commands; add published versions JSON plugin. (microsoft#5701) * Add functions to better support commands provided by global commands. * Introduce rush-published-versions-json-plugin. * fixup! Introduce rush-published-versions-json-plugin. * fixup! Introduce rush-published-versions-json-plugin. * fixup! Introduce rush-published-versions-json-plugin. * fixup! Introduce rush-published-versions-json-plugin. * Add "globalPlugin" command kind for plugin-native global commands Introduces a new "globalPlugin" commandKind for command-line.json that can only be used in Rush plugin command-line.json files. Unlike "global" commands, it has no shellCommand — the implementation must be provided entirely by the plugin via the runGlobalCustomCommand hook with setHandled(). - Added globalPluginCommandKind constant to RushConstants - Added globalPluginCommand to JSON schema (no shellCommand/autoinstallerName) - Added IGlobalPluginCommandJson type; at runtime, normalized to IGlobalCommandConfig with shellCommand="" and isPluginOnly=true (similar to bulk→phased conversion) - Rejected globalPlugin in repo command-line.json (loadFromFileOrDefault) - Updated plugin command-line.json to use the new kind - Fixed plugin .npmignore to include command-line.json Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add changefile for globalPlugin command kind Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address PR feedback: rename isPluginOnly to providedByPlugin Rename isPluginOnly → providedByPlugin for clarity per review feedback. Also update the first changefile comment to reflect the globalPlugin design. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Split changefiles: API additions vs globalPlugin command kind Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Rushbot <rushbot@users.noreply.github.com>
…opy conflicts across npm-packlist versions (microsoft#5720) * fix(package-extractor): preventing duplicate-copy conflicts across npm-packlist versions * docs(README.md): update readme * Fix different behavior on Windows that was breaking the unit test * Prepare to publish a PATCH version of Rush --------- Co-authored-by: LPegasus <lpegasus@users.noreply.github.com> Co-authored-by: Pete Gonzalez <4673363+octogonz@users.noreply.github.com>
… bumping (microsoft#5723) * Add the Rush plugin for recording published versions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Replace record-versions step with Rush plugin in post-publish pipeline. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Remove repo-toolbox record-versions action. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Update bump-decoupled-local-dependencies to update autoinstallers. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fixup! Update bump-decoupled-local-dependencies to update autoinstallers. * Clean up pipeline YAML. * fixup! Update bump-decoupled-local-dependencies to update autoinstallers. * Address PR feedback: use install-run-rush.yaml template; add run-repo-toolbox.yaml template Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…tor, CommonVersionsConfiguration, and VersionPolicy (microsoft#5724) * Refactor PackageJsonEditor. * fixup! Refactor PackageJsonEditor. * fixup! Refactor PackageJsonEditor. * Add changelog entry for PackageJsonEditor async API refactor. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Update a downstream project to use the async APIs. --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
If `bump-decoupled-local-dependencies` updates the Rush version in `rush.json`, the subsequent `rush update` step would fail because `install-run-rush.js` tried to install the new Rush version but the checked-in `rush-package-lock.json` still referenced the old version. Fix by emitting `RushWasUpdated` and `NewRushVersion` Azure Pipelines variables from `BumpDecoupledLocalDependencies`, then conditionally bootstrapping the new Rush version (skipping lockfile validation) and updating the checked-in lockfile before running `rush update` normally. Also only write `rush.json` when the Rush version actually changed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Owner
Author
|
Closing in favor of a PR against microsoft/rushstack. |
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.
Summary
Fix issues with updates to rushstack-websites (prior commit): adds
DisableInstallRunRushLockfileparameter to theinstall-run-rush.yamltemplate and uses it for the rushstack-websites stage, which doesn't have a lockfile checked in.Handle Rush version bump in post-publish pipeline (this commit): when
bump-decoupled-local-dependenciesupdates the Rush version inrush.json, the subsequentrush updatestep would fail becauseinstall-run-rush.jstried to install the new Rush version whileINSTALL_RUN_RUSH_LOCKFILE_PATHstill pointed to the old version's lockfile.Fix:
BumpDecoupledLocalDependenciesnow emitsRushWasUpdated(true/false) andNewRushVersionas Azure Pipelines variables, and only writesrush.jsonwhen the version actually changed.RushWasUpdatedistrue, a new conditional step bootstraps the new Rush version (skipping lockfile validation), then copies the new lockfile intocommon/config/validation/rush-package-lock.jsonbeforerush updateruns — sorush updateproceeds normally with a matching lockfile.Test plan
rush updateno longer fails)🤖 Generated with Claude Code