Skip to content

Commit

Permalink
doc(contributing): add info on bisecting upstream changes (#6402)
Browse files Browse the repository at this point in the history
Co-authored-by: Johan Bay <jobay@google.com>
  • Loading branch information
mathiasbynens and johanbay committed Sep 8, 2020
1 parent e22ca4c commit ce6ae35
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion CONTRIBUTING.md
Expand Up @@ -279,7 +279,15 @@ The following steps are needed to update the Chromium version.
1. Update `src/revisions.ts` with the found revision number.
1. Run `npm run ensure-correct-devtools-protocol-revision`.
If it fails, update `package.json` with the expected `devtools-protocol` version.
1. Run `npm run tsc` and `npm install` and ensure that all tests pass. If a test fails, bisect the upstream cause of the failure, and either update the test expectations accordingly (if it was an intended change) or work around the changes in Puppeteer (if it’s not desirable to change Puppeteer’s observable behavior).
1. Run `npm run tsc` and `npm install` and ensure that all tests pass. If a test fails, [bisect](#bisecting-upstream-changes) the upstream cause of the failure, and either update the test expectations accordingly (if it was an intended change) or work around the changes in Puppeteer (if it’s not desirable to change Puppeteer’s observable behavior).

### Bisecting upstream changes

Sometimes, performing a Chromium roll causes tests to fail. To figure out the cause, you need to bisect Chromium revisions to figure out the earliest possible revision that changed the behavior. The script in `utils/bisect.js` can be helpful here. Given a Node.js script that calls `process.exit(1)` for bad revisions, run this from the Puppeteer repository’s root directory:

```sh
node utils/bisect.js --good 686378 --bad 706915 script.js
```

## Releasing to npm

Expand Down

0 comments on commit ce6ae35

Please sign in to comment.