ReleaseEngineering/How To/Trigger arbitrary jobs: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Pointing to new script)
(Using "--revision" didn't work for me locally. "--rev" did, though.)
Line 24: Line 24:
<pre>
<pre>
python scripts/trigger.py \
python scripts/trigger.py \
--revision 6610f4646b3c --repo-name try --buildername "Android 2.2 Debug try build"
--rev 6610f4646b3c --repo-name try --buildername "Android 2.2 Debug try build"
</pre>
</pre>



Revision as of 01:16, 6 February 2015

Disclaimer: use this carefully as you could cause a lot of trouble.

Setup

git clone https://github.com/armenzg/mozilla_ci_tools.git
python setup.py develop (or install)
python scripts/trigger.py --help

NOTE: We can probably improve this by adding console_scripts to setup.py and make it an installable script.

File issues

File issues under https://github.com/armenzg/mozilla_ci_tools/issues. armenzg is currently the main maintainer.

Usage

NOTE: You can now trigger jobs without having to find the installer and tests urls.
NOTE: This script will now trigger the associated build if there is no available completed build.

Run it like this:

python scripts/trigger.py \
--rev 6610f4646b3c --repo-name try --buildername "Android 2.2 Debug try build"

Hacks

  • You can run a test/talos job against:
    • your own installer located at any web-host
    • your own tests.zip located at any web-host
    • This allows you to hack a tests.zip on your people account and zip it back
      • use it with zip -rq9D && chmod 644
  • You also don't need a build to happen on a revision to trigger a test/talos job

Solved issues

  • There's some logic to prevent you from triggering jobs against non-existing builds/test.zip (to some extent)

Known issues

  • You can attempt to trigger a revision that doesn't exist
  • You can try to trigger a builder that doesn't exist
  • You can be tempted to write a script to run a lot of jobs
    • Remember that these are shared production resources
  • We could have a web page to make this easier