Test Pilot is an opt-in platform that allows us to perform controlled tests of new high-visibility product concepts in the general release channel of Firefox.
Test Pilot is not intended to replace trains for most features, nor is it a test bed for concepts we do not believe have a strong chance of shipping in general release. Rather, it is reserved for features that require user feedback, testing, and tuning before they ship with the browser.
Table of Contents generated with DocToc
- Wiki: https://wiki.mozilla.org/Test_Pilot
- IRC: #testpilot on irc.mozilla.org
- Test Pilot Metrics
This project uses Docker in development. You'll get a lot of benefit by acquainting yourself with Docker and its documentation. However, you can get started on Test Pilot development with a minimum of Docker know-how:
By default js-lint
and sass-lint
watch options are set to true. If you would like
to override these, you can do so in debug-config.json.
if you'd like to run linters on pre-commit
you can use this pre-commit-hook.
See some of our Tips and Tricks.
Make sure you clone the Test Pilot repo:
git clone https://github.com/mozilla/testpilot.git
-
Make sure you have a default Docker machine:
docker-machine create --driver virtualbox default
- Make sure the default machine is running:
docker-machine start default
- Make sure your shell can see the default Docker machine:
eval "$(docker-machine env default)"
- Check the IP address of the default Docker machine:
docker-machine ip default
- Use this IP address to add an entry for
testpilot.dev
in/etc/hosts
:
192.168.99.100 testpilot.dev
You can do this manually, or the bin/update-ip.sh script can take care of this for you.
- Don't forget to cd into your Test Pilot directory:
cd testpilot
- Create and setup the Docker containers (this will take some time):
docker-compose up
-
Add an entry for
testpilot.dev
in/etc/hosts
:
127.0.0.1 testpilot.dev
You can do this manually, or the bin/update-ip.sh script can take care of this for you.
- Don't forget to cd into your Test Pilot directory:
cd testpilot
- Create and setup the Docker containers (this will take some time):
sudo docker-compose up
- Help wanted: Getting things working on Windows may be similar to OS X, but the team has little experience with that environment.
-
Start editing files - changes should be picked up automatically.
-
Visit the Django server, using the hostname you added to
/etc/hosts
:http://testpilot.dev:8000/
-
Visit Django admin, login with username
admin
and passwordadmin
:http://testpilot.dev:8000/admin/
-
For further reading:
-
README-DOCKER.md
- for more hints & tips on Docker in development, including how to set up custom configurations and run common tests & checks. -
circle.yml
- to see what checks are run automatically in Circle CI, which you should ensure pass locally before submitting a Pull Request on GitHub -
addon/README.md
- for more details on the addon this site uses to enable advanced features. -
docs/WORK.md
- information on how we create, triage and assign work. -
docs/DEPLOYMENT.md
- process for deploying Test Pilot to stage and production.
-