diff --git a/.github/workflows/commit_artifacts.yml b/.github/workflows/commit_artifacts.yml index 11676a0dc04b5..2e5007982b1cb 100644 --- a/.github/workflows/commit_artifacts.yml +++ b/.github/workflows/commit_artifacts.yml @@ -228,7 +228,16 @@ jobs: name: compiled-rn path: compiled-rn/ - run: git status -u + - name: Check if only the REVISION file has changed + id: check_should_commit + run: | + if git status --porcelain | grep -qv '/REVISION$'; then + echo "should_commit=true" >> "$GITHUB_OUTPUT" + else + echo "should_commit=false" >> "$GITHUB_OUTPUT" + fi - name: Commit changes to branch + if: steps.check_should_commit.outputs.should_commit == 'true' uses: stefanzweifel/git-auto-commit-action@v4 with: commit_message: | diff --git a/scripts/rollup/build-all-release-channels.js b/scripts/rollup/build-all-release-channels.js index 238d9b5a7f5fb..b4bc0d5d8f789 100644 --- a/scripts/rollup/build-all-release-channels.js +++ b/scripts/rollup/build-all-release-channels.js @@ -177,6 +177,26 @@ function processStable(buildDir) { ); } + const reactNativeBuildDir = buildDir + '/react-native/implementations/'; + if (fs.existsSync(reactNativeBuildDir)) { + const hash = crypto.createHash('sha1'); + for (const fileName of fs.readdirSync(reactNativeBuildDir).sort()) { + const filePath = reactNativeBuildDir + fileName; + const stats = fs.statSync(filePath); + if (!stats.isDirectory()) { + hash.update(fs.readFileSync(filePath)); + } + } + updatePlaceholderReactVersionInCompiledArtifacts( + reactNativeBuildDir, + ReactVersion + + '-' + + nextChannelLabel + + '-' + + hash.digest('hex').slice(0, 8) + ); + } + // Update remaining placeholders with next channel version updatePlaceholderReactVersionInCompiledArtifacts( buildDir,