diff --git a/scripts/devtools/build-and-test.js b/scripts/devtools/build-and-test.js index 3c2f493ddd907..78275691aca9a 100755 --- a/scripts/devtools/build-and-test.js +++ b/scripts/devtools/build-and-test.js @@ -50,13 +50,13 @@ async function main() { }); const archivePath = await archiveGitRevision(); - const buildID = await downloadLatestReactBuild(); + const currentCommitHash = await downloadLatestReactBuild(); await buildAndTestInlinePackage(); await buildAndTestStandalonePackage(); await buildAndTestExtensions(); - saveBuildMetadata({archivePath, buildID}); + saveBuildMetadata({archivePath, currentCommitHash}); printFinalInstructions(); } @@ -197,12 +197,17 @@ async function downloadLatestReactBuild() { console.log(''); + const currentCommitHash = (await exec('git rev-parse HEAD')).stdout.trim(); + if (!currentCommitHash) { + throw new Error('Failed to get current commit hash'); + } + const {commit} = await inquirer.prompt([ { type: 'input', name: 'commit', message: 'Which React version (commit) should be used?', - default: 'main', + default: currentCommitHash, }, ]); console.log(''); @@ -215,24 +220,11 @@ async function downloadLatestReactBuild() { `"${downloadScriptPath}" --commit=${commit}` ); - const output = await logger( - downloadPromise, - 'Downloading React artifacts from CI.', - {estimate: 15000} - ); - - const match = output.match('--build=([0-9]+)'); - if (match.length === 0) { - console.error(chalk.red(`No build ID found in "${output}"`)); - process.exit(1); - } - - const buildID = match[1]; - - console.log(''); - console.log(`Downloaded artifacts for CI build ${chalk.bold(buildID)}.`); + await logger(downloadPromise, 'Downloading React artifacts from CI.', { + estimate: 15000, + }); - return buildID; + return currentCommitHash; } function printFinalInstructions() { diff --git a/scripts/devtools/publish-release.js b/scripts/devtools/publish-release.js index 01ace5fc1bcc8..495fddefc2cd6 100755 --- a/scripts/devtools/publish-release.js +++ b/scripts/devtools/publish-release.js @@ -29,16 +29,16 @@ async function main() { console.log(chalk.bold.green(' ' + pathToPrint)); }); - const {archivePath, buildID} = readSavedBuildMetadata(); + const {archivePath, currentCommitHash} = readSavedBuildMetadata(); await checkNPMPermissions(); await publishToNPM(); - await printFinalInstructions(buildID, archivePath); + await printFinalInstructions(currentCommitHash, archivePath); } -async function printFinalInstructions(buildID, archivePath) { +async function printFinalInstructions(currentCommitHash, archivePath) { console.log(''); console.log( 'You are now ready to publish the extension to Chrome, Edge, and Firefox:' @@ -50,7 +50,7 @@ async function printFinalInstructions(buildID, archivePath) { ); console.log(''); console.log('When publishing to Firefox, remember the following:'); - console.log(` Build id: ${chalk.bold(buildID)}`); + console.log(` Commit Hash: ${chalk.bold(currentCommitHash)}`); console.log(` Git archive: ${chalk.bold(archivePath)}`); console.log(''); console.log('Also consider syncing this release to Facebook:'); diff --git a/scripts/devtools/utils.js b/scripts/devtools/utils.js index 17d0c1f40eb39..06006500627eb 100644 --- a/scripts/devtools/utils.js +++ b/scripts/devtools/utils.js @@ -101,19 +101,19 @@ function readSavedBuildMetadata() { process.exit(1); } - const {archivePath, buildID} = readJsonSync(path); + const {archivePath, currentCommitHash} = readJsonSync(path); - return {archivePath, buildID}; + return {archivePath, currentCommitHash}; } -function saveBuildMetadata({archivePath, buildID}) { +function saveBuildMetadata({archivePath, currentCommitHash}) { const path = join(BUILD_METADATA_TEMP_DIRECTORY, 'metadata'); if (!existsSync(BUILD_METADATA_TEMP_DIRECTORY)) { mkdirSync(BUILD_METADATA_TEMP_DIRECTORY); } - writeJsonSync(path, {archivePath, buildID}, {spaces: 2}); + writeJsonSync(path, {archivePath, currentCommitHash}, {spaces: 2}); } module.exports = {