ReleaseEngineering/How To/Trigger arbitrary jobs
< ReleaseEngineering | How To
Jump to navigation
Jump to search
- This script hits the API that zeller, catlee and hwine made available:
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