Jenkins Continuous Integration

This repository is continuously tested via Jenkins. You can find the canonical Jenkins job at https://ci.mozilla.org/job/version-control-tools/.

The Jenkins test environment is configured such that it can be executed by anyone, anywhere.

The testing/jenkins directory contains everything you need to reproduce the canonical Jenkins job.

In that directory are the following files:

Vagrantfile
Defines the virtual machine used to run test automation.
run-main.py
A script used to run the tests. This is what you’ll configure your Jenkins job to execute to run the job.
run.sh
Main script that runs inside the virtual machine to run test automation. This is invoked by run-main.py.

Configuring Jenkins

The Jenkins build only needs to consist of a single step: a shell script that executes:

testing/jenkins/run-main.py

For post-build actions, you have a number of options.

You can Publish Cobertura Coverage Report by using **/coverage/coverage.xml for the Cobertura xml report pattern.

You can Publish JUnit test result reports by using coverage/results.xml as the Test Reports XML value.

You can Publish coverage.py HTML reports by setting coverage/html as the Report directory.

You can Publish HTML Reports containing the generated Sphinx documentation by setting sphinx-docs/html as the HTML directory to archive and setting the Index Page to index.html.