This is a Chrome extension for testers of the Rainforest QA Testing Platform, it notifies testers there is new work to be done.
This repo is only for technical discussion of the extension, not for general Rainforest-related discussion. Please use the tester forum for general discussion (if you're not sure, the forum is likely the right place to go). If you want to open an issue or contribute, please see the CONTRIBUTING guide.
Note: to use this extension you MUST have done at least one job for us before. This is as we pay you via either Mechanical Turk, or Crowd Flower as normal, against an older job you did.
- Go to https://portal.rainforestqa.com/login (register from any email from us)
- Login
- Click on "Get Chrome Extension"
Clone this repo
- Run the local dev server with
./dev_server
- (To test websocket interactions) run schrute locally at localhost:4000 (note: this is not open source)
- Go to: chrome://extensions/
- Enable "Developer Mode"
- Click "Load unpacked extension"
- Select
extension
folder in this repo
npm install
npm run lint
npm test
Most deploys do not require a new release of the plugin. If you are only changing /src, the code will be deployed as soon as it is merged to master. (Do not bump any versions in this case.)
If you are deploying changes to the actual plugin (as opposed to the JS source code), do the following:
- Bump the version in
package.json
,production_manifest.json
,staging_manifest.json
andextension/manifest.json
- Build on circle and download the extension.zip
- Go to https://chrome.google.com/webstore/developer/dashboard/u85d2beaae4ec3450eae7ccaa97b3ac82
- Upload the new version
- Click publish
Warning: don't open a release PR until you've published the staging version, otherwise it will get auto-merged.
Changes should be tested with the staging version of the plugin before the code is merged to master.
The following situations require new versioned plugin releases:
- Changes to any files in /extension (
index_prod.html
,options_prod.html
,constants/prod.js
, etc). - Changes to manifest files.
password.txt.gpg
contains the password for key.pem.gpg
, it's encrypted using Russ's public key, in case we ever loose it from Circle.