diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4913bd1..8407dc1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,3 +20,13 @@ docs: trim local setup to the essentials ## Build outputs `imagediff.js` and `imagediff.min.js` are generated by `npm run build` and committed for releases. Rebuild and commit them only when preparing a release; ordinary PRs change `js/imagediff.js` and leave the built files alone. `npm test` runs against the source, including the CLI, so nothing needs rebuilding to test a change. + +## Releasing + +On the release PR, after `npm run build` and committing the build outputs, run: + +```sh +npm run test:release +``` + +It rebuilds, runs `npm test` against the built `imagediff.js` and `imagediff.min.js` (through `require` in Node and in a page, along with the CLI specs), and then fails if the fresh build differs from the committed build outputs. Publish only once it passes. diff --git a/README.md b/README.md index b8eb422..9d79a79 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,8 @@ npm test * `npm run test:node` runs the specs, including a smoke test of the `imagediff` CLI, in Node.js against [node-canvas](https://github.com/Automattic/node-canvas) (the optional `canvas` dependency, which `npm ci` installs from prebuilt binaries on common platforms). * `npm run test:browser` runs the specs in headless Chromium with Playwright. * `npm run test:serve` serves the specs at http://localhost:8085/spec/ to watch them run in a browser. +* `IMAGEDIFF_LIBRARY=imagediff.min.js npm test` runs the same specs against a built file (a path from the repository root) instead of the source: through `require` in Node and as a ` - +