[0.87] Fix skipped post-publish jobs in release mode#57480
Open
cipolleschi wants to merge 1 commit into
Open
Conversation
The post_publish, generate_changelog, bump_podfile_lock and create_draft_release jobs are release-only and gate on a bare `if: needs.determine_mode.outputs.mode == 'release'`. Because that expression has no status-check function, GitHub implicitly ANDs a `success()` gate, which evaluates to false when a job in the dependency graph is skipped. In release mode `build_android` (a dependency of `publish_react_native`) is always skipped, so these four downstream jobs were skipped even after a successful publish. `publish_react_native` already works around this with `always()` plus explicit `.result == 'success'` checks; apply the same pattern to the four downstream jobs so they run whenever the release publish succeeds.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Backport of #57479 to
0.87-stable.During the 0.87.0-rc.0 release, the npm packages published successfully (
publish_react_native✓) but every release-only downstream job was skipped:post_publish,generate_changelog,bump_podfile_lock, andcreate_draft_release. As a result the community template was not published, rn-diff-purge was not triggered, npm/Maven verification did not run, the changelog was not generated,Podfile.lockwas not bumped, and no draft GitHub release was created.Root cause
These four jobs gate on a bare condition:
Because that expression contains no status-check function, GitHub Actions implicitly ANDs a
success()gate, which evaluates to false when there is a skipped job in the dependency graph. In release mode,build_android(a dependency ofpublish_react_native) is always skipped, poisoning the implicitsuccess()for these downstream jobs — so they skip even after a fully successful publish.publish_react_nativealready works around exactly this withalways()+ explicit.result == 'success'checks. This PR applies the same pattern to the four downstream jobs.Fix
(
create_draft_releasechecksgenerate_changelogandset_hermes_versioninstead, matching itsneeds.)Test plan
publish_react_nativesucceeds.