Skip to content

Release checklist for 16 RC #10623

Closed
Closed
@flarnie

Description

@flarnie

Ensure all commits in master were tested at Facebook.

  • Check that they were a part of the latest internal sync.
  • For stable releases, prefer that they’ve been landed for a week or so.
  • Only skip this step if you really know what you’re doing!

Verify that you have npm permissions.

  • You’re in npm owner ls react
  • You’re in npm owner ls react-art
  • You’re in npm owner ls react-dom
  • You’re in npm owner ls react-test-renderer
  • If not, ping someone on the team!

Ensure your React is fresh.

  • Ensure you’re on master
  • Do a git pull
  • Is master green on CI? Check the most recent commits.
  • Check that your local git log output matches the commit list.
  • Run yarn in the repo root.

Ensure runtime dependencies match what users would get.

  • For fbjs:

    • Look at the version range of fbjs in root package.json.
    • Ensure all packages/*/package.json depending on fbjs specify the same range.
    • Run yarn upgrade fbjs@^THAT_VERSION in the repo root. (Don’t miss the caret!)
  • For object-assign:

    • Look at the version range of object-assign in root package.json.
    • Ensure all packages/*/package.json depending on object-assign specify the same range.
    • Run yarn upgrade object-assign@^THAT_VERSION in the repo root. (Don’t miss the caret!)
  • For prop-types:

    • Look at the version range of prop-types in root package.json.
    • Ensure all packages/*/package.json depending on prop-types specify the same range.
    • Run yarn upgrade prop-types@^THAT_VERSION in the repo root. (Don’t miss the caret!)
  • This might change the lockfile. This should not change any package.json.

  • Commit the changes, if any. (see Update to latest allowed versions of fbjs and prop-types #10626)

  • Edit: react-art is broken in the 16 branch but this shouldn't block RC, and will be fixed asap by @sophiebits and @flarnie in Pull in react-art/lib/{Circle,Rectangle,Wedge}.art #10629

Do the local sanity checks in the repo root.

  • Run yarn test in the repo root.
  • Run yarn lint in the repo root.
  • Run yarn flow in the repo root.

STABLE RELEASE ONLY: Update error codes.

  • Run yarn build -- --extract-errors in the repo root.
  • If scripts/error-codes/codes.json changes, git commit -am 'Update error codes'
  • Maybe: If we still have a separate *-stable branch for docs when you’re reading this, we need to cherry-pick that commit to that branch. This makes sure the website decoder knows about the updated error codes. But ideally we should just change docs to serve from master.

(See #10619 #10621 and #10622)

Update the version.

  • Update export in src/ReactVersion.js
  • Update version in all packages/*/package.json:
    • packages/react-art/package.json
    • packages/react-dom/package.json
    • packages/react-noop-renderer/package.json
    • packages/react-test-renderer/package.json
    • If you see any other packages, update this list :-)
  • Run yarn version-check to verify your changes.
  • git commit -am "<version number>"

Build it!

  • Run yarn build in the repo root.

Run fast packaging smoke test.

  • Open fixtures/packaging/babel-standalone/dev.html in the browser for a smoke test.
  • It should say “Hello world!”

Run slow packaging smoke test.

  • Go to cd fixtures/packaging and run node build-all.js
  • npm install -g serve
  • Go to the repo root and run serve -s .
  • Open http://localhost:5000/fixtures/packaging/ and verify every iframe shows “Hello World!”

Release!

  • Run git push
  • Run git push --tags
  • Go to build/packages
    • For every subfolder:
      • For non-stable versions: Run npm publish --tag next in the subfolder.
      • For stable versions: Run npm publish in the subfolder.

Bonus: Try it out!

  • create-react-app myapp
  • cd myapp
  • npm start

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions