Skip to content

mozilla-extensions/remote-settings-devtools

Repository files navigation

Remote Settings Devtools

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

Features

  • Trigger synchronization manually
  • Inspect local data
  • Clear local data
  • Switch from/to DEV, STAGE, or PROD

Install

Firefox for desktop

  • Pick the .xpi file from the releases page.
  • When asked for confirmation, select "Continue to installation".

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.

  • npm run tcs:docker - will build and run the automated tests within a container using the latest firefox nightly package.
  • npm run tcs:test to run automated tests locally using your firefox nightly package.
    • Setting the NIGHTLY_PATH environment parameter will allow you to run tests against an arbitrary firefox nightly binary. Ex: NIGHTLY_PATH=/opt/custom/nightly npm run tcs:test

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.