mozilla-extensions / remote-settings-devtools

about:remotesettings
Mozilla Public License 2.0
15 stars 9 forks source link

Remote Settings Devtools

This addon provides some tools to assist developers with remote settings.

Features

Install

Firefox for desktop

Note: it is highly recommended to use a temporary or development user profile

Firefox for Android

Development

This addon relies on the Experiments API in order to expose Remote Settings internals to the Web Extension.

Unsigned addons with experiments can only be loaded in Firefox Nightly and Developer Edition, with specific preferences set.

  1. Download Nightly
  2. Install dependencies with npm install
  3. Run npm run start:macos or npm run start:linux, and it will spawn a browser window with the addon installed
  4. Enjoy!

It relies on web-ext. Additional CLI params can be passed using --:

npx run start:linux -- --firefox-profile rs-devtools --profile-create-if-missing --keep-profile-changes

More information about the temporary loaded addon can be found in about:debugging#/runtime/this-firefox

Running tests locally

Automated tests can be run locally or in docker to verify changes.

Release

Prerequisites (get access to Ship-It)

  1. Create a ticket to be added to the VPN group (can clone and edit this Bugzilla ticket)
  2. Ask in the #addons-pipeline channel to be added to the XPI_PRIVILEGED_BUILD_GROUP to get access to create an XPI release for remote-settings-devtools on Ship-It

Create a new tag/release

  1. Bump version in package.json and extension/manifest.json
  2. Tag commit git tag -a X.Y.Z and push it git push origin X.Y.Z
  3. Create release with changelog on GitHub's releases page
  4. Check that FirefoxCI action has run for tagged commit

Create release on Ship-It

  1. Ensure you're connected to the VPN
  2. Go to Ship-It
  3. Login with SSO at the top right
  4. Click Releases > Extensions > New at the top and select the following options:
    • Available XPIsremote-settings-devtools
    • Available revisions → revision with the commit hash associated with the tag that's being released
  5. Ensure the version that was tagged is the one shown
  6. Select CREATE RELEASESUBMIT
  7. Scroll to the bottom of the pending releases page
  8. Click Build > Schedule on the new release labeled remote-settings-devtools-X.Y.Z-build1
  9. Submit a sign off request

The binary will be published in the releases page automatically.

  1. Update the update.json file to reflect the version value assigned by Taskcluster (eg. 1.9.0buildid20240422.103808) and the download URL for the XPI file.