Auto-tools/Projeccts/Platform Quality/Platform Jenkins Notes
From MozillaWiki
Contents
Links
- Scripts to generate Jenkins jobs
- Scripts to run Jenkins jobs, including WebRTC Steeplechase and Web Platform.
- Actual Jenkins jobs
Notes
MSE/EME jobs
- A lot of setup info is in the firefox-media-tests README.
- As of Sept 30th 2015 only the following builders are configured to run basic video playback tests: pf-mac-10-10-2, pf-win7-64-2, pf-win-64-2 (windows 8.1)
- Important [system] environment variables are described here: https://github.com/mjzffr/firefox-media-tests/blob/pf-jenkins/run_media_tests.py#L7-L22
- Relevant directories on mac builder(s):
/Users/mozilla/testing
and/Users/mozilla/tools
- Relevant directories on win builders:
C:\tools\
andC:\testing
- Relevant directories on mac builder(s):
- Resources re mozharness and supporting tools
WebRTC profiles
If you want to make changes to the WebRTC Profiles on Jenkins, the configuration script is generate_webrtc_jobs.py
and the template for creating the files (parameters etc) are located in webrtc-job-template.xml
.
Details on individual machines used and global variables to use are present in WebRTC_Test_Matrix.csv
python generate_webrtc_jobs.py --template webrtc-job-template.xml --table-csv WebRTC_Test_Matrix.csv --jenkins-host http://pf-jenkins.qa.mtv2.mozilla.com:8080
How to regenerate jobs
For WebRTC, the jobs were initially generated programmatically. However, as time goes on, using the Jenkins utility routines below will be faster and less error-prone.
Job utilities
Other utilties
mozplatformqa-jenkins-config has several interesting python scripts to manipulate Jenkins projects.
- copy_jobs_to_new_release.py - see above.
- copy_to_second_jenkins.py - Take jobs from one jenkins instance, swap out all references to that instance with the second instance, and put those jobs into the second instance.
- disable_jobs.py - Mass disable Jenkins jobs.
- enable_jobs.py - Mass enable Jenkins jobs.
- fix_projects.py - Do regular expression subsitutions inside of Jenkins jobs.
- save_jobs.py - Save job configurations to local disk.