Skip to content

Latest commit

 

History

History
133 lines (103 loc) · 5.86 KB

README.md

File metadata and controls

133 lines (103 loc) · 5.86 KB

The CPANTesters Project

A meta-project for tracking CPAN Testers project goals. See the Issues for project tracking or to see how you can get involved

See the project roadmap for future plans and to give input on the project planning

Project Overview

The CPAN Testers project is an effort to ensure the quality and stability of the packages uploaded to CPAN, the Comprehensive Perl Archive Network, the official repository for sharing Perl libraries and applications.

Contributers submit test reports by downloading content from CPAN and running the included test suite. These test reports are sent to a repository called Metabase. Reports are then read from Metabase, and parsed for important statistics which are saved to the CPAN Testers database. This database has a web application where authors can see the test reports for their distributions.

Repositories

These are the repositories that are meta-managed by this repository.

Metabase

Metabase is the primary source for CPAN Testers reports. Reporters write directly to the Metabase to send in reports. This replaces the original reports which were sent via e-mail, and used a Usenet group as the canonical repository.

CPANTesters

These are the modules that comprise the CPANTesters application, including the backend ETL which loads and parses reports from Metabase and the web application that displays reports and statistics.

Backend

Backend modules handle processing and parsing reports.

  • cpantesters-schema
    • This is a DBIx::Class schema for the CPAN Testers database.
  • Data::Generator
    • This module handles grabbing reports from the Metabase and inserting them into the correct places in the CPANTesters report database
  • Data::Uploads
    • The Uploads database contains basic information about the history of CPAN, including the release dates of all CPAN and BackPAN modules, direct from PAUSE. This is generated directly from the local CPAN Testers CPAN and BackPAN mirrors.
  • Data::Uploads::Mailer
    • Send e-mails when invalid distributions are uploaded to CPAN
  • Data::Release
    • Create a standalone database from the release summary information.

See detailed documentation about these processes and how they are used

Frontend

Frontend modules handle the web application.

Clients

These modules provide APIs to fetch information from the CPANTesters web app.

Meta

These repositories are related to the CPANTesters application.

  • cpantesters-deploy
    • Automated deployment for the CPANTesters servers, along with a special deployment for development virtual machines.
    • This project handles the initial deployment of a machine, installing OS packages, setting up Perl, and setting up a user to run CPAN Testers processes. Individual projects can deploy themselves.

Reporters

Reporters send test reports to the Metabase. These can be used to set up your own CPANTesters smoke boxes.

  • CPAN::Reporter
    • This reporter works with the common CPAN client (CPAN.pm which is shipped with Perl)