Skip to main content

RC Patches

info

Documents in this section go over steps to run different types of React Native release updates. Its intended audience is those in relevant release roles.

Pre-requisites​

  • You have some pick requests that qualify for a new Release Candidate (RC) patch in the "road to 0.XX.0" discussion.
  • Write access to react-native repository.
  • Write access to releases repository.
  • One CircleCI personal API token - see here how to set one.

1. Check out the latest version from release branch​

# Be on relevant release branch
# update the stable branch with tags
git pull origin <release-branch> --tags
git checkout -b <release-branch>

# cherry pick relevant commits
git cherry-pick <commit-hash>

2. Test the current changes​

Before continuing further, follow the testing guide to ensure the source code doesn't have any major issues.

3. Run bump-oss-version script​

# once verified all the cherry-picked commits, we can push them to remote
git push

# run a script to bump the version
# You **do not** want this release marked as "latest"!
./scripts/bump-oss-version.js --to-version 0.y.0-rc.x --token <YOUR_CIRCLE_CI_TOKEN>

4. Watch CircleCI to ensure right jobs are being triggered​

  • Once you have run the bump script script, head to CircleCI and you should see under the releases workflow, a prepare-package-for-release job.

    CircleCI showing publish release
    CircleCI showing publish release.
  • Once complete you should be able to run npm view react-native and verify that under the next tag, the version is the expected release version.

    npm view react-native
    ...
    dist-tags:
    latest: 0.(y-1).1 next: 0.y.0-rc.x nightly: 0.0.0-f617e022c

5. Update the relevant discussion post with the latest RC​

Go back to the "road to 0.XX.0" discussion and update the "Current release candidate" line with the new version you published.

6. Broadcast that release candidate is out​

Once all the steps above have been completed, it's time to signal to the community that the new RC is available for testing! Do so in the following channels:

  • RN Discord #releases-coordination and to the testers in #testers-feedback