playwright/docs/development/releasing.md

1.9 KiB

Preparing release notes

  1. Use "draft new release tag".
  2. Version starts with "v", e.g. "vX.Y.Z".
  3. Fill "Raw notes".
    • git fetch --tags upstream
    • git log --pretty="%h - %s" $(git describe --tags --abbrev=0)..HEAD
  4. Fill "Bug fixes".
    • git log $(git describe --tags --abbrev=0)..HEAD
    • Manually look for #1234 references in commit messages.
  5. Fill "Current status".
  6. Fill "Highlights" if any.
    • Be creative.
  7. Fill "Breaking API Changes" if any.
    • git diff $(git describe --tags --abbrev=0):docs/api.md docs/api.md
  8. Fill "New APIs" if any.
    • git diff $(git describe --tags --abbrev=0):docs/api.md docs/api.md
  9. When making links to the API, copy actual links from GitHub, and not from api.md source - these might be incorrect.
    • Before publishing, replace blob/master/docs with blob/vX.Y.Z/docs in all the links.
  10. Use "Save Draft", not "Publish".

Releasing to npm

  1. Announce PSA: release vX.Y.Z in progress. Please do not commit anything.
    • Important: no other commits should land in-between release commit and bump commit.
  2. Mark a new version.
    • node utils/update_version.js vX.Y.Z && npm run doc.
    • Send a PR titled chore: mark version vX.Y.Z.
    • Make sure the PR passes all required checks and merge it.
  3. Publish to npm.
    • npm login
    • utils/publish_all_packages.sh --release
  4. Click 'Publish release' button on the prepared release notes.
  5. Mark post release.
    • node utils/update_version.js vX.Y.Z-post && npm run doc.
    • Merge a PR titled chore: bump version to vX.Y.Z-post.
  6. Announce PSA: release vX.Y.Z is out.