Since taskcluster requires credentials for actions - which we
retrieve via their third party login - many of the isLoggedIn for users
can be relaxed.
* Changes made to Push Health and the jobs-view - PushAction, CustomJobActions, ActionBar, PushHeader.
* Bug 1616311 - Fix when a key starts with a numeral
We use this as an `id` or query selector at times. So it must
start with a character.
* Bug 1616311 - Pass the correct revision to CommitHistory
We were passing the revision of the parent, not the current revision
for which we are showing the RevisionList
* Bug 1616311 - Add ability to copy test group name to clipboard
* CSS Cleanup
* Use darker-info and darker-secondary for a11y
* Put Parent Push metric at end of list and clean it up
* Add a `scrollToLine` when clicking/expanding metric names
The push_health.py file is now 'tests.py' where we will add 'linting.py', etc.
Changed a couple function names to make them a little more explicit.
* Change the 'metrics' field in the result to an object instead of
an array. This way the UI can ask for each metric more easily.
It'd rather have the UI decide what order to display the metrics
than the API.
This also makes the 'Metric.jsx' component simpler and just control
expand / collapse and display of basic pass / fail.
* Bug 1574651 - add tc_root_url to each repository
* Fix issues introduced since initial creation of this feature
* Fix unit tests
* Fix retriggers in Compare Chooser of Perfherder
This introduces Redux back into Treeherder. While redux is often considered
unnecessary for simple apps in favor of Context, Treeherder is not simple.
Using Redux here allows us to abstract out certain functionality into
libraries that can be self-contained. And it does a better job of managing
the functions needed to modify the state in these areas. This is the first
context I am converting and will likely have minimal (if any) noticeable
performance gain. But converting SelectedJob and Pusehs should end up having
a larger impact.
* Stop using model_to_dict
I had to switch away from using ``model_to_dict`` to convert the jobs to be ``JSON`` serializable because that function will strip away the ``_id`` from fields like ``job_type``. This was fine in the Push Health UI itself, but when I started using the shared code of retriggering, then the ``job`` objects didn't have matching fields with what was in Treeherder.
* Add notifications to Push Health
We need the notifications system for retriggers.
* Enable retriggering jobs in Push Health
This required passing the ``user`` down to ``TestFailure``