Files
Ruslan LesiutinandRuslan Lesiutin 33b4555488 [DevTools] Use one commit for extension release inputs (#37307)
## Summary

`build-and-test.js` could feed three different commits into one release:
`git archive main` (not `HEAD`), an interactively chosen React CI build,
and `HEAD` saved as metadata. Firefox source review then could not
reproduce the zip.

Require a clean tree, resolve `HEAD` once, and use that hash for the
source archive, the experimental React download, and the metadata
printed for AMO. Drop the prompt that let those diverge.

Depends on #37305 and #37306.

## How did you test this change?

Build-script only. The release helper now errors on a dirty tree and
threads a single `git rev-parse HEAD` into archive, download, and
metadata.

Co-authored-by: Ruslan Lesiutin <hoxy@meta.com>
2026-09-02 13:47:00 +01:00
..

Releasing DevTools

To release DevTools, do the following steps (in order):

  1. Prepare a release
  2. Build and test a release
  3. Publish a release

Each of the scripts can be run with a --dry flag to test without committing or publishing any changes.

Prepare a release

To increment version numbers and update the CHANGELOG, run the prepare-release script:

./prepare-release.js

You'll need to follow the instructions at the end of the script to push the committed changes to the main fork on GitHub.

Build and test a release

To build and test a release, run the build-and-test script:

./build-and-test.js

Publish a release

To publish a release to NPM, run the publish-release script:

./publish-release.js

You'll need to follow the instructions at the end of the script to upload the extension to Chrome, Edge, and Firefox stores.