mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
[RN][Release] Fix set-rn-version to consider also the codegen snapshot tests (#51156)
This commit is contained in:
@@ -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