Fix skipped post-publish jobs in release mode#57479
Closed
cipolleschi wants to merge 1 commit into
Closed
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 was referenced Jul 8, 2026
|
@cipolleschi has imported this pull request. If you are a Meta employee, you can view this in D111035339. |
cortinico
approved these changes
Jul 8, 2026
cortinico
left a comment
Contributor
There was a problem hiding this comment.
Review automatically exported from Phabricator review in Meta.
|
@cipolleschi merged this pull request in c080619. |
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
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.success()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, which poisons 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 (see its existingif:and comment). This PR applies the same, proven pattern to the four downstream jobs.Fix
Replace each bare
if:withalways()plus explicit result checks so the jobs run whenever the release publish actually succeeds, and only in release mode:(
create_draft_releasechecksgenerate_changelogandset_hermes_versioninstead, matching itsneeds.)Changelog:
[Internal] -
Notes
build_androidis always skipped in release mode.0.87-stable.Test plan
ifexpressions unchanged in intent: run only for a successful release publish, skip for nightly/bumped-packages.post_publish,generate_changelog,bump_podfile_lock, andcreate_draft_releaseall run afterpublish_react_nativesucceeds.