Skip to content

Conversation

@huntie
Copy link
Member

@huntie huntie commented Feb 9, 2024

Summary:
Updates find-and-publish-all-bumped-packages to use the npm registry as the source of truth, similar to tools like Lerna (lerna publish from-package). This enables safe reruns of the publish script, and replaces the previous Git-diff-detection implementation.

Changelog: [Internal]

Differential Revision: D53607807

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Feb 9, 2024
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53607807

@analysis-bot
Copy link

analysis-bot commented Feb 9, 2024

Platform Engine Arch Size (bytes) Diff
android hermes arm64-v8a 17,238,567 +7
android hermes armeabi-v7a n/a --
android hermes x86 n/a --
android hermes x86_64 n/a --
android jsc arm64-v8a 20,600,978 -17
android jsc armeabi-v7a n/a --
android jsc x86 n/a --
android jsc x86_64 n/a --

Base commit: b41a33e
Branch: main

huntie added a commit to huntie/react-native that referenced this pull request Feb 12, 2024
…sh script rerunnable) (facebook#42944)

Summary:

Updates `find-and-publish-all-bumped-packages` to use the npm registry as the source of truth, similar to tools like Lerna (`lerna publish from-package`). **This enables safe reruns of the publish script**, and replaces the previous Git-diff-detection implementation.

Changelog: [Internal]

Reviewed By: lunaleaps

Differential Revision: D53607807
@huntie
Copy link
Member Author

huntie commented Feb 12, 2024

Sidenote: Why not use lerna publish from-package?

I'm aligning us closer towards this. The main gap right now is that we have custom behaviour around the react-native package, which we need to simplify first. There are also other details such as our commit message parsing that would require some glue.

…rerunnable) (facebook#42944)

Summary:

Updates `find-and-publish-all-bumped-packages` to use the npm registry as the source of truth, similar to tools like Lerna (`lerna publish from-package`). **This enables safe reruns of the publish script**, and replaces the previous Git-diff-detection implementation.

Changelog: [Internal]

Reviewed By: lunaleaps

Differential Revision: D53607807
huntie added a commit to huntie/react-native that referenced this pull request Feb 12, 2024
…sh script rerunnable) (facebook#42944)

Summary:

Updates `find-and-publish-all-bumped-packages` to use the npm registry as the source of truth, similar to tools like Lerna (`lerna publish from-package`). **This enables safe reruns of the publish script**, and replaces the previous Git-diff-detection implementation.

Changelog: [Internal]

Reviewed By: lunaleaps

Differential Revision: D53607807
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53607807

huntie added a commit to huntie/react-native that referenced this pull request Feb 12, 2024
…sh script rerunnable) (facebook#42944)

Summary:

Updates `find-and-publish-all-bumped-packages` to use the npm registry as the source of truth, similar to tools like Lerna (`lerna publish from-package`). **This enables safe reruns of the publish script**, and replaces the previous Git-diff-detection implementation.

Changelog: [Internal]

Reviewed By: lunaleaps

Differential Revision: D53607807
@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Feb 12, 2024
@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 273a517.

huntie added a commit to huntie/react-native that referenced this pull request Feb 13, 2024
…rerunnable) (facebook#42944)

Summary:
Pull Request resolved: facebook#42944

Updates `find-and-publish-all-bumped-packages` to use the npm registry as the source of truth, similar to tools like Lerna (`lerna publish from-package`). **This enables safe reruns of the publish script**, and replaces the previous Git-diff-detection implementation.

Changelog: [Internal]

Reviewed By: lunaleaps

Differential Revision: D53607807

fbshipit-source-id: 135808b7ce36cf463c9f53a8059500b83f8b6679

# Conflicts:
#	scripts/monorepo/find-and-publish-all-bumped-packages.js
@huntie huntie deleted the export-D53607807 branch February 16, 2024 15:06
lunaleaps pushed a commit that referenced this pull request Feb 19, 2024
…2991)

* Add Flow, add positive test case for monorepo publish step (#42936)

Summary:
Pull Request resolved: #42936

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D53607809

fbshipit-source-id: 990826fda5538af9a13e3f24978295a2f3b0c8c3

# Conflicts:
#	scripts/monorepo/__tests__/find-and-publish-all-bumped-packages-test.js
#	scripts/monorepo/find-and-publish-all-bumped-packages.js

* Update exit cases for monorepo publish script (#42937)

Summary:
Pull Request resolved: #42937

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D53607810

fbshipit-source-id: 18e79f23060ee70e96bd8ac6e9995b0a8ba300b3

# Conflicts:
#	scripts/monorepo/__tests__/find-and-publish-all-bumped-packages-test.js
#	scripts/monorepo/find-and-publish-all-bumped-packages.js

* Refactor package discovery in publish script (#42938)

Summary:
Pull Request resolved: #42938

Substitutes the `forEachPackage` util with a replacement async `getPackages` function. This will be used further in the next diff.

The new function aims to be more erganomic/versatile than `forEachPackage` by returning a package mapping (see updated test mock). The API aligns roughly with `yarn workspaces list` and [Lerna's `detectProjects`](https://lerna.js.org/docs/api-reference/utilities#detectprojects).

This also aligns with / replaces similar attempts in our existing scripts:
- [`getPackagesToPublish`](https://github.com/facebook/react-native/blob/2ca7bec0c2a7d821ceaaf39840a6cdc5eceb8678/scripts/monorepo/get-and-update-packages.js#L56)
- [`getPublicPackages`](https://github.com/facebook/react-native/blob/2ca7bec0c2a7d821ceaaf39840a6cdc5eceb8678/scripts/releases/set-version/index.js#L19)

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D53607806

fbshipit-source-id: 00ec34edadab863dc8f2f0c7852f6e835a5dddf5

# Conflicts:
#	scripts/monorepo.js
#	scripts/monorepo/find-and-publish-all-bumped-packages.js
#	scripts/monorepo/for-each-package.js

* Use npm as source of truth for updated packages (make publish script rerunnable) (#42944)

Summary:
Pull Request resolved: #42944

Updates `find-and-publish-all-bumped-packages` to use the npm registry as the source of truth, similar to tools like Lerna (`lerna publish from-package`). **This enables safe reruns of the publish script**, and replaces the previous Git-diff-detection implementation.

Changelog: [Internal]

Reviewed By: lunaleaps

Differential Revision: D53607807

fbshipit-source-id: 135808b7ce36cf463c9f53a8059500b83f8b6679

# Conflicts:
#	scripts/monorepo/find-and-publish-all-bumped-packages.js

* Add retry to monorepo publish script (#42964)

Summary:
Pull Request resolved: #42964

We've seen npm publishes fail occasionally in CI as part of this script, most recently in S391653. This change adds a single retry, per package, during the execution of this script, in an attempt to reduce the chance of manual interventions after a broken pipeline.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D53607808

fbshipit-source-id: 526d9c33d51ec57702efba3c199bad313c1bf2d4

# Conflicts:
#	scripts/monorepo/find-and-publish-all-bumped-packages.js

* Rename and document monorepo publish script (#42989)

Summary: Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D53607805

fbshipit-source-id: babe9bbd7fb5e7016b567193727c6a441bee60a3

# Conflicts:
#	scripts/__tests__/publish-updated-packages-test.js
#	scripts/publish-updated-packages.js
#	scripts/releases-ci/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants