Changes

Jump to: navigation, search

Auto-tools/Projects/Marionette update tests

5,312 bytes added, 18:43, 11 June 2015
Add info about installer-url and installer-path
python scripts/firefox_ui_updates.py --cfg generic_releng_config.py --cfg update_tests/mozilla-{beta,release}.py
== Options Chunking ==XXXIn the automation we run the scripts with --this-chunk/--total-chunks to parallelize the execution: To be added python scripts/firefox_ui_updates.py --cfg generic_releng_config.py --cfg update_tests/mozilla-{beta,release}.py --this-chunk=1 --total-chunks=10
* chunking* installerTo see what will run on which chunk you can use -path* installer-url* dry-runTrue.
Remember to read about how to run locally in this doc. == Configuration files ==There is a config per release branch.You can see them in [http://hg.mozilla.org/build/mozharness/file/default/configs/update_tests|configs/update_tests]. The only two values that are specified are:* the tools update verify config (e.g. mozBeta-firefox-linux64.cfg)** You can see them all in [https://hg.mozilla.org/build/tools/file/default/release/updates|here]* which [https://github.com/mozilla/firefox-ui-tests|firefox_ui_tests] branch to check out (e.g. mozilla-beta) = Harness options =You can see available options by running this: python scripts/firefox_ui_updates.py --help Here's a list of some of the options that are importantOptions: -h, --help show this help message and exit --work-dir=WORK_DIR Specify the work_dir (subdir of base_work_dir) --base-work-dir=BASE_WORK_DIR Specify the absolute path of the parent of the working directory -c CONFIG_FILES, --config-file=CONFIG_FILES, --cfg=CONFIG_FILES Specify a config file; can be repeated -C OPT_CONFIG_FILES, --opt-config-file=OPT_CONFIG_FILES, --opt-cfg=OPT_CONFIG_FILES Specify an optional config file, like --config-file but with no error if the file is missing; can be repeated --dump-config List and dump the config generated from this run to a JSON file. --dump-config-hierarchy Like --dump-config but will list and dump which config files were used making up the config and specify their own keys/values that were not overwritten by another cfg -- held the highest hierarchy. --firefox-ui-repo=FIREFOX_UI_REPO which firefox_ui_tests repo to use --firefox-ui-branch=FIREFOX_UI_BRANCH which branch to use for firefox_ui_tests --venv-path=VIRTUALENV_PATH, --virtualenv-path=VIRTUALENV_PATH Specify the path to the virtualenv top level directory --virtualenv=VIRTUALENV Specify the virtualenv executable to use --find-links=FIND_LINKS URL to look for packages at --pip-index Use pip indexes (default) --no-pip-index Don't use pip indexes --tools-repo=TOOLS_REPO which tools repo to check out --tools-tag=TOOLS_TAG which revision/tag to use for tools --update-verify-config=UPDATE_VERIFY_CONFIG which revision/tag to use for firefox_ui_tests --this-chunk=THIS_CHUNK What chunk of locales to process. --total-chunks=TOTAL_CHUNKS Total chunks to dive the locales into. --dry-run=DRY_RUN Only show what was going to be tested. --installer-url=INSTALLER_URL Point to an installer to download and test against. --installer-path=INSTALLER_PATH Point to an installer to test against. --update-allow-mar-channel=UPDATE_ALLOW_MAR_CHANNEL Additional MAR channel to be allowed for updates, e.g. "firefox-mozilla-beta" for updating a release build to the latest beta build. --update-channel=UPDATE_CHANNEL Update channel to use. --update-target-version=UPDATE_TARGET_VERSION Version of the updated build. --update-target-buildid=UPDATE_TARGET_BUILDID Build ID of the updated build = Internally =The mozharness script takes care of setting up the environment, checking out repositories, updating to the right branches and execute the tests. Internally, we call the [http://hg.mozilla.org/build/mozharness/file/2a5172fb2335/scripts/firefox_ui_updates.py#l247|firefox_ui_update] that gets generated from the firefox ui tests repository (the runner is defined in [https://github.com/mozilla/firefox-ui-tests/blob/master/firefox_ui_harness/runners/update.py#L53|here]). The call to the binary looks similar to this:XXX: Double check this firefox-ui-update --installer /path/to/installer/Firefox%2038.0.dmg --gecko-log=/path/to/cwd/build/gecko.log The actual tests are defined in [https://github.com/mozilla/firefox-ui-tests/tree/master/firefox_ui_tests/update|here]. = Run on your local machine ==
If any tests fail in the jobs running for the releases, you will be able to see the exact command to execute on your local machine. It will ask you to use --installer-url and have the right options to use.
=== Developer mode ==
To run anything on your local machine you will need to append --cfg developer_config.py.
The script will tell you if you don't.
It clears any hardcoded paths that are used for Release Engineering machinery.
== --installer-url/--installer-path ==Instead of using the Release Engineering update verify configuration files, you can also run the harness in these different ways: --installer-url: python scripts/firefox_ui_updates.py --firefox-ui-branch mozilla-beta --installer-url http://ftp.mozilla.org/pub/mozilla.org/firefox/candidates/38.0-candidates/build3/mac/en-US/Firefox%2038.0.dmg --cfg developer_config.py --installer-path python scripts/firefox_ui_updates.py --firefox-ui-branch mozilla-beta --installer-path `pwd`/Firefox%2038.0.dmg --cfg developer_config.py == Running it more than once ===
The harness allows you to run specific steps in isolation.
You can see the available actions like this:
Confirm
3,990
edits

Navigation menu