Skip to content

Test Pilot is a platform for performing controlled tests of new product concepts in Firefox

License

Notifications You must be signed in to change notification settings

learnedhoof/testpilot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Test Pilot

Test Pilot Logo

Circle CI Coverage status Requirements Status

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

More Information

Development

Quickstart

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.

First Thing's First

Make sure you clone the Test Pilot repo:

git clone https://github.com/mozilla/testpilot.git

OS X hosts

  1. Install Docker Toolbox

  2. Make sure you have a default Docker machine:

docker-machine create --driver virtualbox default

  1. Make sure the default machine is running:

docker-machine start default

  1. Make sure your shell can see the default Docker machine:

eval "$(docker-machine env default)"

  1. Check the IP address of the default Docker machine:

docker-machine ip default

  1. 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.

  1. Don't forget to cd into your Test Pilot directory:

cd testpilot

  1. Create and setup the Docker containers (this will take some time):

docker-compose up

Ubuntu Linux hosts

  1. Install Docker

  2. Install Docker Compose

  3. 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.

  1. Don't forget to cd into your Test Pilot directory:

cd testpilot

  1. Create and setup the Docker containers (this will take some time):

sudo docker-compose up

Windows hosts

  • Help wanted: Getting things working on Windows may be similar to OS X, but the team has little experience with that environment.

Next Steps

  • 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 password admin:

    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.

About

Test Pilot is a platform for performing controlled tests of new product concepts in Firefox

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 48.8%
  • JavaScript 36.7%
  • CSS 11.1%
  • HTML 2.3%
  • Shell 1.1%