mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Fix set-rn-version to account for codegen snapshot test files (#51157)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/51157 test-js jobs are failing because the codegen snapshot tests generates a Podspecs withan hardcoded version that does not matches the version we are about to release. This fix updates the script that set the RN version to make sure it also updates the Codegen snapshots. This is a porting to `main` of [this PR](https://github.com/facebook/react-native/pull/51156). ## Changelog: [Internal] - Fix set-rn-version to account for codegen snapshot test files Reviewed By: fabriziocucci, cortinico Differential Revision: D74321590 fbshipit-source-id: 6837e60a0a2834030680f7ec0c7584bf2622f33e
This commit is contained in:
committed by
Facebook GitHub Bot
parent
56b2690ecd
commit
130fb7fd30
@@ -121,6 +121,12 @@ constexpr struct {
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`updateReactNativeArtifacts should set nightly version: packages/react-native/scripts/codegen/__tests__/__snapshots__/generate-artifacts-executor-test.js.snap 1`] = `
|
||||
"version = \\"0.81.0-nightly-29282302-abcd1234\\\\
|
||||
other text
|
||||
version = \\"0.81.0-nightly-29282302-abcd1234\\\\"
|
||||
`;
|
||||
|
||||
exports[`updateReactNativeArtifacts should set release version: packages/react-native/Libraries/Core/ReactNativeVersion.js 1`] = `
|
||||
"/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
@@ -241,3 +247,9 @@ constexpr struct {
|
||||
} // namespace facebook::react
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`updateReactNativeArtifacts should set release version: packages/react-native/scripts/codegen/__tests__/__snapshots__/generate-artifacts-executor-test.js.snap 1`] = `
|
||||
"version = \\"0.81.0\\\\
|
||||
other text
|
||||
version = \\"0.81.0\\\\"
|
||||
`;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`setVersion updates monorepo for nightly: ../../../../packages/react-native/scripts/codegen/__tests__/__snapshots__/generate-artifacts-executor-test.js.snap 1`] = `"[omitted]"`;
|
||||
|
||||
exports[`setVersion updates monorepo for nightly: set-version/package.json 1`] = `
|
||||
"{
|
||||
\\"name\\": \\"@react-native/monorepo\\",
|
||||
@@ -81,6 +83,8 @@ exports[`setVersion updates monorepo for nightly: set-version/packages/react-nat
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`setVersion updates monorepo for release-candidate: ../../../../packages/react-native/scripts/codegen/__tests__/__snapshots__/generate-artifacts-executor-test.js.snap 1`] = `"[omitted]"`;
|
||||
|
||||
exports[`setVersion updates monorepo for release-candidate: set-version/package.json 1`] = `
|
||||
"{
|
||||
\\"name\\": \\"@react-native/monorepo\\",
|
||||
@@ -162,6 +166,8 @@ exports[`setVersion updates monorepo for release-candidate: set-version/packages
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`setVersion updates monorepo for stable version: ../../../../packages/react-native/scripts/codegen/__tests__/__snapshots__/generate-artifacts-executor-test.js.snap 1`] = `"[omitted]"`;
|
||||
|
||||
exports[`setVersion updates monorepo for stable version: set-version/package.json 1`] = `
|
||||
"{
|
||||
\\"name\\": \\"@react-native/monorepo\\",
|
||||
|
||||
@@ -37,6 +37,20 @@ describe('updateReactNativeArtifacts', () => {
|
||||
) {
|
||||
return 'VERSION_NAME=1000.0.0\n';
|
||||
}
|
||||
|
||||
if (
|
||||
filePath ===
|
||||
path.join(
|
||||
REPO_ROOT,
|
||||
'packages/react-native/scripts/codegen/__tests__/__snapshots__/generate-artifacts-executor-test.js.snap',
|
||||
)
|
||||
) {
|
||||
return `
|
||||
version = "1000.0.0\\
|
||||
other text
|
||||
version = "1000.0.0\\
|
||||
`;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -79,6 +79,7 @@ async function updateReactNativeArtifacts(
|
||||
const versionInfo = parseVersion(version, buildType);
|
||||
|
||||
await updateSourceFiles(versionInfo);
|
||||
await updateTestFiles(versionInfo);
|
||||
await updateGradleFile(versionInfo.version);
|
||||
}
|
||||
|
||||
@@ -116,6 +117,40 @@ function updateSourceFiles(
|
||||
]);
|
||||
}
|
||||
|
||||
function updateTestFiles(
|
||||
versionInfo /*: Version */,
|
||||
) /*: Promise<Array<void>>*/ {
|
||||
const oldVersion = /"\d+\.\d+\.\d+(-rc\.\d+)?\\/g;
|
||||
const newVersion = `"${versionInfo.version}\\`;
|
||||
|
||||
const snapshotTestPath = path.join(
|
||||
__dirname,
|
||||
'..',
|
||||
'..',
|
||||
'packages',
|
||||
'react-native',
|
||||
'scripts',
|
||||
'codegen',
|
||||
'__tests__',
|
||||
'__snapshots__',
|
||||
'generate-artifacts-executor-test.js.snap',
|
||||
);
|
||||
|
||||
const promise /*: Promise<void> */ = new Promise(async (resolve, reject) => {
|
||||
try {
|
||||
let snapshot = String(await fs.readFile(snapshotTestPath, 'utf8')).trim();
|
||||
// Replace all occurrences of the old version pattern with the new version
|
||||
snapshot = snapshot.replaceAll(oldVersion, newVersion);
|
||||
await fs.writeFile(snapshotTestPath, snapshot, {encoding: 'utf8'});
|
||||
resolve();
|
||||
} catch (error) {
|
||||
reject(error);
|
||||
}
|
||||
});
|
||||
|
||||
return Promise.all([promise]);
|
||||
}
|
||||
|
||||
async function updateGradleFile(version /*: string */) /*: Promise<void> */ {
|
||||
const contents = await fs.readFile(GRADLE_FILE_PATH, 'utf-8');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user