web-platform-tests / results-collection

Other
41 stars 46 forks source link

WPT Results Collector Build Status

Notice This project was decommissioned on 2019-11-05. It was used to collect results published to wpt.fyi for the two years prior to this date, so the source code is available online for historical reference.

This project defines a procedure to provision and deploy systems for running the web-platform-tests in a number of configurations. It once provided data to power wpt.fyi, a dashboard for reviewing current and historic test results.

The deployment process is facilitated by the Ansible configuration management tool. The running system is implemented with Buildbot.

Because the system must access private infrastructure (e.g. Google Cloud Storage and the Sauce Labs testing environment), some aspects of the process cannot be shared publicly. The private information is included in this repository in encrypted form.

Local development (for project contributors)

To support local development and functional testing, a Vagrant-mediated VirtualBox virtual machine is also available.

  1. Install Vagrant (version 2) and VirtualBox (version 5.2)
  2. Open a terminal and navigate to the directory containing this text file
  3. Run the following command:

    vagrant up

This will initiate the creation of a virtual machine. Further documentation on using Vagrant can be found in the "Getting Started" guide by the maintainers of that project.

This does not rely on any private infrastructure, so any contributor may follow these instructions. This will require some manual modification of the configuration files. Those unfamiliar with Ansible may contact the project maintainers for more detailed instructions. Note that the resulting virtual machine will not have all the capabilities of the production system.

Deploying to production (for project maintainers)

  1. Install Ansible (version 2.5.0 or later), AWSCLI & Terraform
  2. Request the Ansible Vault password from another maintainer and save it to the following location: provisioning/configuration/ansible-vault-password.txt
  3. Ensure ~/.aws/credentials has an entry with administrative access keys matching the profile for the project. The profile name can be found in terraform/{project}/variables.tf under the provider "aws" {} block.
  4. Retrieve a Google Cloud Platform credentials file and save it with the file name google-cloud-platform.json in the current directory. Instructions are available here.
  5. Open a terminal and navigate to the directory containing this text file
  6. Run the following command:

    make deploy

Related repositories

License

Copyright (c) 2017 The WPT Dashboard Project. All rights reserved.

The code in this project is governed by the BSD license that can be found in the LICENSE file