User:Mjzffr/Resources/Mozharness: Difference between revisions

m
whitespace
(Add mozharness notes from QA presentation)
 
m (whitespace)
 
Line 1: Line 1:
==What is mozharness?==
==What is mozharness?==
* It's a collection of Python modules that make it easy to extend and configure common automation tasks
* It's a collection of Python modules that make it easy to extend and configure common automation tasks
** (Henrik) It's mostly all configuration driven
** (Henrik) It's mostly all configuration driven
Line 6: Line 5:
* Logging and config management (and much more) are already taken care of for you
* Logging and config management (and much more) are already taken care of for you
* Nice things: cross-platform, platform-specific configs, make it easy to create reproducible environment
* Nice things: cross-platform, platform-specific configs, make it easy to create reproducible environment


==How do I write a mozharness script? Some tips ==
==How do I write a mozharness script? Some tips ==
* See Resources below
* See Resources below
* Get mozharness without checking out all of mozilla-central (See archiver_client.py below)
* Get mozharness without checking out all of mozilla-central (See archiver_client.py below)
Line 21: Line 18:
** Lots more here: http://hg.mozilla.org/mozilla-central/file/default/testing/mozharness/mozharness
** Lots more here: http://hg.mozilla.org/mozilla-central/file/default/testing/mozharness/mozharness
* Be careful: if your mozharness script creates a virtual env, you don't want to run it inside your own virtual env
* Be careful: if your mozharness script creates a virtual env, you don't want to run it inside your own virtual env


== How do I use mozharness scripts in my Jenkins instance? ==
== How do I use mozharness scripts in my Jenkins instance? ==
* Disclaimer: This is just how we set things up on pf-jenkins. There are other ways.
* Disclaimer: This is just how we set things up on pf-jenkins. There are other ways.
* Use archiver_client.py to put mozharness on your builders (see below)
* Use archiver_client.py to put mozharness on your builders (see below)
Line 30: Line 25:
*  Jenkins job checks out Github repo that contains our mozharness script  (Note: our project will soon move from Github to mozilla-central)
*  Jenkins job checks out Github repo that contains our mozharness script  (Note: our project will soon move from Github to mozilla-central)
* mozharness script is called in build step
* mozharness script is called in build step


==References==
==References==
* https://wiki.mozilla.org/ReleaseEngineering/Mozharness (includes tutorial and simple examples)
* https://wiki.mozilla.org/ReleaseEngineering/Mozharness (includes tutorial and simple examples)
* Ask questions on #releng - jlund, armenzg
* Ask questions on #releng - jlund, armenzg
Line 41: Line 34:
** firefox-media-tests running per-commit in buildbot: http://hg.mozilla.org/mozilla-central/file/default/testing/mozharness/scripts/firefox_media_tests_buildbot.py  
** firefox-media-tests running per-commit in buildbot: http://hg.mozilla.org/mozilla-central/file/default/testing/mozharness/scripts/firefox_media_tests_buildbot.py  
*** for running tests on our Jenkins instance and also taking care of Treeherder submission https://gist.github.com/mjzffr/f2c7612d2efd3c0c1304#file-firefox_media_tests_jenkins-py (Note: we'll eventually remove Treeherder submission from this script because it will be taken care of by TaskCluster)
*** for running tests on our Jenkins instance and also taking care of Treeherder submission https://gist.github.com/mjzffr/f2c7612d2efd3c0c1304#file-firefox_media_tests_jenkins-py (Note: we'll eventually remove Treeherder submission from this script because it will be taken care of by TaskCluster)


=== archiver_client example ===
=== archiver_client example ===


1. Download archiver_client: http://hg.mozilla.org/build/tools/file/default/buildfarm/utils/archiver_client.py  
1. Download archiver_client: http://hg.mozilla.org/build/tools/file/default/buildfarm/utils/archiver_client.py  
2. Run something like `python archiver_client.py mozharness --rev 62cd40885e93` and it will download to ./mozharness
2. Run something like `python archiver_client.py mozharness --rev 62cd40885e93` and it will download to ./mozharness


More: https://api.pub.build.mozilla.org/docs/usage/archiver/
More: https://api.pub.build.mozilla.org/docs/usage/archiver/
Confirmed users
378

edits