`initialize_data.sh` calls exec in the last line, thus, it was trying to execute `&&`
```
backend | /app/initialize_data.sh: line 11: exec: &&: not found
```
This change allows the user to enter a test/manifest path and find jobs that match it.
This supports the code landed in [bug 1615333](https://bugzilla.mozilla.org/show_bug.cgi?id=1615333)
We only fetch test manifest artifacts when `test_paths` is part of the URL.
Also added a test to correctly map tests/manifest from the task name, thus, increase of code coverage.
The code was originally landed here:
0f9e053096
and reverted here:
3224c217f5
* Add Travis job to run Python tests outside of Docker
* `runtests.sh` is renamed to `runchecks.sh` and it does not run Python tests
* `manage.py check --deploy` was duplicated in Travis
* Update testing documentation
* Remove `-bb` since it is not needed since Python 3.5
This change allows the user to enter a full test path and find jobs that match it.
This supports the code landed in [bug 1615333](https://bugzilla.mozilla.org/show_bug.cgi?id=1615333)
Also added test to correctly map tests from task name, thus, increase of code coverage.
* Add management task for fetching github commits based on repository fixes and
2 tables for storing that data
* Add changelog web api
* Add tests
* Refactor Github utilities into one file and move http utilities from common.py to new file
`isort` as part of the pre-commit set up ends up under `$HOME/.cache/pre-commit`.
Due to that, it was unable to determine the path to the `setup.cfg` and was
unable to differentiate third party libraries from first party libraries.
Specifiying where the path to the default virtualenv is fixes it.
Git based projects can list pushes in the UI incorrectly. This can be caused by commits having been ammended on a PR or merges of old commits.
Using the committer's date (the date when the PR gets merged) instead of the author's date to determine push time fixes the sorting problem.
This change also includes:
* Support for manual ingestion of Git pushes
* Support for ingesting the latest commits for a repo
* Script to compare pushes between Treeherder instances
## Script to compare pushes between Treeherder instances
`compare_pushes.py` compares the last 50 pushes of various projects for different Treeherder instances. The output generates links to each instance and revision to visually compare.
```console
% ./misc/compare_pushes.py --projects android-components,fenix,reference-browser,servo-master,servo-auto,servo-try
Comparing android-components against production.
Comparing fenix against production.
Comparing reference-browser against production.
{"values_changed": {"root['push_timestamp']": {"new_value": 1582580346, "old_value": 1582581477}}}
https://treeherder.allizom.org/#/jobs?repo=reference-browser&revision=547a18b97534b237fa87bd22650f342836014c4ehttps://treeherder.mozilla.org/#/jobs?repo=reference-browser&revision=547a18b97534b237fa87bd22650f342836014c4e
Comparing servo-master against production.
Comparing servo-auto against production.
Comparing servo-try against production.
```
For test path filtering the artifact is quite large (over 1MB) but the
compressed version is much smaller (~90KB).
This change will try to first download the compressed file and then
attempt the uncompressed version as a fallback.
Changes:
* Standardize task label to test type conversion with `convert_job_type_name_to_testtype`.
* Support additional job types `source-test`, `iris`, and `web-render`.
* Fix `JobPriority` query to use converted testtype instead of task label.
This increases the chances of not having a Heroku build fail and catch it in Travis instead.
It also cleans up a bit the file and removes incorrect usage of `env` values.