Description
React Native macOS historically did not have one tool to manage it's NPM package versioning and releases, we used a combo of custom scripts inherited from React Native Core, and beachball. This issue tracks updating our release flow to use a single tool to unify our release infrastructure, namely: nx release.
Outstanding issues:
Outstanding upstream issues:
-
nx release
will always publish NPM packages with taglatest
nrwl/nx#30979- Workaround : ci: set the npm dist-tag in
nx release publish
#2484
- Workaround : ci: set the npm dist-tag in
-
nx release
will always publish NPM packages with taglatest
nrwl/nx#30979- Workaround: ci: only publish if there are changes to push #2447
- Even if this is supported, we probably want to keep the NPM publish separate anyway as we will eventually need to use the ESRP release tool for compliance.
-
nx release --dry-run
does not testnx release publish
with a dry run nrwl/nx#30981- More of a nice to have.
Completed:
- chore: set up proper publishing pipeline #2266
- ci(0.76): enable publishing of stable releases #2310
- ci(0.76): check publish_react_native_macos with a runtime condition #2311
- ci(0.76): more publish pipeline fixes #2318
- ci: bring publish pipeline updates from
0.76-stable
to main #2314 - ci(0.76) use
workspace:*
for@react-native/oss-library-example
in RNTester #2334 - ci: use blobless clones in publishing pipelines #2315
- ci: switch branch before publishing artifacts #2317
- chore: fix prepublish script inconsistencies #2410
- chore: use fallback resolver for new tags #2414
- chore: add post-version step to Nx Release #2418
- ci: setup npm authentication for publish #2422
- ci: update
yarn.lock
as part of nx release #2426 - chore: verify npm auth token in prepublish script #2436
- ci: properly pass NPM auth token secret to script #2434
- ci: remove unnecessary environment variable #2445
- ci: only publish if there are changes to push #2447
- ci: update preid check in prepublish.mjs #2432
- ci: update lock file through
nx.json
flag instead #2476 - ci(0.78): Add some logging to the pubish phase #2478
- ci: set the npm dist-tag in
nx release publish
#2484 - ci: mark unforked monorepo packages as private #2483