Граф коммитов

163 Коммитов

Автор SHA1 Сообщение Дата
Joel Maher 3709582dff
add comment as to when we can remove hack3 now that xpcshell+msix is a proper variant (#1113) 2024-05-31 18:17:32 +02:00
Marco Castelluccio b0f974ff2b
Update URL to variants.yml file (#1108)
* Update URL to variants.yml file

* Adjust mock URL
2024-05-31 00:36:43 +02:00
Joel Maher be9bab4102
Add logic to mozci for using and triggering confirm failures (#1053) 2024-01-22 20:18:28 +01:00
Joel Maher 52a22b957f
use task attributes to define configuration instead of parsing the label (#1075) 2024-01-18 11:52:20 -08:00
Joel Maher 1eb6235ddc
Remove Treeherder DB data source (#1080)
Fixes #1077
2023-12-12 20:38:52 +01:00
Joel Maher 0d30beea15
Use task.suite instead of resorting on label parsing and a hardcoded list of suites (#1072) 2023-12-04 17:46:57 +01:00
Marco Castelluccio 64690cdbc9 Add a test that covers all possible conditions of the classify function 2023-10-17 11:10:47 +02:00
Marco Castelluccio f5f19d095c Adjust tests for the new 'new' classification and the avoidance of useless retriggers/backfills 2023-10-17 11:10:47 +02:00
Marco Castelluccio e25e3466d3 Add test for is_config_consistent_failure with a single task and a minimum count of 1 2023-10-17 11:10:47 +02:00
Marco Castelluccio 4e7a809840
Don't consider groups as intermittent only if they are both inconsistently failing across configs and in retriggers within the same config (#1044)
Also refactor the failure consistency check in a separate function so it is more readable compared to an inline if.
2023-10-13 19:57:44 +02:00
Marco Castelluccio b4d9b712a6 Support 'mochitest-browser-media' suite 2023-09-21 23:01:06 +02:00
Marco Castelluccio 497252b95f Update pre-commit repositories 2023-04-11 17:37:38 +02:00
Marco Castelluccio d6cecc9e27
Allow autoclassification when there are multiple failures of the same type reported for the same test (#817)
* Allow autoclassification when there are multiple failures of the same type reported for the same test

* Add a test with a test failing in the same group in two different modes
2022-07-19 11:22:11 +02:00
Marco Castelluccio f30d52bda8
Support parsing suite from all possible labels (#816)
* Support parsing suite and configuration from label when a task is not split in chunks

* Assert we can parse all labels to suites when checking if a group is still running on a push

* Add mochitest-browser-a11y to the list of suites

* Add a comment to remind ourselves of stopping to parse labels when the suite information will be part of the task definition
2022-07-16 01:35:27 +02:00
Marco Castelluccio 6dd31eea79
Implement retriggers using retrigger action (#795)
Using firefox-ci client we also use for backfills

Fixes #765
2022-06-27 15:22:30 +02:00
EvaBardou 6a62953e21
Extend the classify command to perform backfills and retriggers (#771)
* Extend the classify command to perform backfills and retriggers

* Fix code and existing tests

* Fix repeat_retrigger + Filter out groups not associated to any failing task

* Fix CI

* Fix some review related code snippets

* Fixes + Nits + Cleanup

Co-authored-by: Eva Bardou <ebardou@teklia.com>
2022-06-24 14:58:42 +02:00
EvaBardou a8a457a68b
Filter out groups that are still running from real failures (#791)
* Filter out groups that are still running from real failures

* Fix tests

* Nits

* Fix typo + Nit

* Get suite from label instead of relying on tests-type tag as the tag isn't always available

* MOZHARNESS_TEST_PATHS is part of 'env'

* No need to create a list first to create a set

* No need to check MOZHARNESS_TEST_PATHS if the test suite is different

This way we can avoid to retrieve the task definitions in many cases

* Refactor logic to acknowledge running groups

* Fix new logic

* Clearer comment

Co-authored-by: Marco Castelluccio <mcastelluccio@mozilla.com>

Co-authored-by: Eva Bardou <ebardou@teklia.com>
Co-authored-by: Marco Castelluccio <mcastelluccio@mozilla.com>
2022-06-23 11:07:41 +02:00
Marco Castelluccio 239e5d8763
When checking classifications for a failure, don't skip fix commits that represent bustage fixes (#785) 2022-06-15 11:33:36 +02:00
Marco Castelluccio f1e297cd49
Backfill with times set to 5 when a task is not classified (#778)
Fixes #776
2022-06-11 19:15:12 +02:00
EvaBardou ae5fa857ca
Implement ability to perform backfills on tasks (#764)
* Implement ability to perform backfills on tasks

* Add tests

* Retrieve TC Firefox CI credentials from mozci config secret

Co-authored-by: Eva Bardou <ebardou@teklia.com>
2022-05-31 11:57:14 +02:00
EvaBardou b466f55213
Add newlines in classify notifications (#722)
Co-authored-by: Eva Bardou <ebardou@teklia.com>
2022-04-11 10:36:47 +02:00
EvaBardou 01713a5b01
Prevent tests from failing because of create_push pytest fixture (#724)
Co-authored-by: Eva Bardou <ebardou@teklia.com>
2022-04-11 10:36:09 +02:00
EvaBardou 30d60c639a
Display Push author and partial date in classify notifications (#717)
Fixes #716
2022-04-04 16:15:20 +02:00
EvaBardou 2179dac0df
Include failure types filtering logic in is_autoclassifiable function (#705)
Co-authored-by: Eva Bardou <ebardou@teklia.com>
2022-03-22 14:18:26 +01:00
EvaBardou cbeca51d3e
Identify failures type for a Push and group them by test group (#692)
* Identify failures type for a Push and group them by test group

* Add a docstring + refactor typing info

Co-authored-by: Eva Bardou <ebardou@teklia.com>
2022-03-17 13:49:18 +01:00
EvaBardou 457951a5b2
Update notification display to use a nested list for tasks (#688)
Co-authored-by: Eva Bardou <ebardou@teklia.com>
2022-03-16 19:35:46 +01:00
Bastien Abadie 2e93310b0c
Add filters to control autoclassification in JSON output from config (#679)
Fixes #665
2022-03-08 10:58:50 +01:00
EvaBardou 955d289de5
Use m.text msgtype instead of default m.notice one for Matrix notification (#678)
Co-authored-by: Eva Bardou <ebardou@teklia.com>
2022-03-02 16:51:29 +01:00
EvaBardou f11cfe6920
Format Matrix report by converting it to HTML (#674)
Co-authored-by: Eva Bardou <ebardou@teklia.com>
2022-03-01 20:32:20 +01:00
Marco Castelluccio 7b1e8f9498
Support retrieving group durations from errorsummary files and reimplement summarizing durations without ActiveData (#663)
* Support retrieving group durations in the errorsummary data source

The treeherder_client data source should support it too, but the data is not available yet
in Treeherder, so for now it will just return None so we don't have to split the contract in two.

Fixes #646

* Mention #662 in TODO comments for future cleanup

* Support GroupSummary durations using data from results

* Implement __make_group_summary_objects using data from group results

Fixes #359

* Update tests

* Update more tests

* Remove integration tests depending on ActiveData

Reinstating them without relying on ActiveData is tracked in #390

* Remove references to adr and ActiveData from the documentation

* Remove adr dependency

* Remove last references to ActiveData from code comments

* Install cache extras for tests as it is now required

Previously we were relying on adr depending on boto3
2022-02-26 16:06:40 +01:00
Marco Castelluccio 944248bf72
Take into account group results in following pushes too for determining cross config failures (#655)
* Take into account group results in following pushes too for determining cross config failures

Fixes #610

* Use old style dict type definition until we stop supporting Python 3.7
2022-02-24 23:22:53 +01:00
Marco Castelluccio c76270e7a0
Fix intermittent detection logic (#659)
A failure is intermittent when it is not cross-config *and* not config-consistent, we were instead
checking if it was either not cross-config or not config-consistent.
2022-02-22 13:19:50 +01:00
Marco Castelluccio be7c61b34a
Add an option to define the minimum number of configurations to consider a failure as cross-config (#658)
The option can be None if we want to disable cross-config detection, or a tuple with two ints where:
- the first number specifies the number of configurations to consider a failure as cross-config for intermittent detection;
- the second number specifies the number of configurations to consider a failure as cross-config for real failure detection.

This way we can tune the detection. E.g. if we want to be conservative, we can set a low first number and a high second number.

Fixes #605
2022-02-21 23:52:18 +01:00
Marco Castelluccio cf016bc11a Apply black formatting 2022-02-21 17:39:15 +01:00
Chidinma Afamefuna 4c8a7500cc
Extend the classify command to perform retriggers on unknown tasks (#619)
Add --retrigger option to classify command
2022-02-18 22:49:24 +01:00
Marco Castelluccio c6b07b5c65
Add an option to take into account failures happening consistently on a given configuration when classifying pushes (#641)
To identify real failures, we check that at least three tasks on any configuration are exhibiting the failure.
To identify intermittent failures, we check that there are no configurations with two tasks exhibiting the failure.
The numbers are configurable through the parameters to the push classify function.

Fixes #607
2022-02-18 20:37:17 +01:00
Marco Castelluccio 77fea879cc
Add an option to use likely/possible regressions to list unknown failures instead of just groups failing in the push (#640)
This means we might risk expanding the list of pushes where we have unknown failures, but we'll be more precise.

Fixes #527
2022-02-17 23:53:24 +01:00
EvaBardou 173224ea1b
Send a Matrix notification when a BAD push is identified (#650) 2022-02-16 12:18:38 +01:00
Marco Castelluccio e2a25f7476
Add a method to identify failures happening consistently on a given configuration (#626)
Prerequisite of #607
2022-02-10 23:47:57 +01:00
Bastien Abadie 8910f2e99b
Send email notification on bad push evolution (#635)
* Send email notification on bad push evolution

* Support no previous classification

* Suggestions

* Move emails notification into a dedicated method

* Add unit test for all notification cases

* Fix typo 1

Co-authored-by: EvaBardou <eva.bardou38@gmail.com>

* Fix typo 2

Co-authored-by: EvaBardou <eva.bardou38@gmail.com>

* Add treeherder urls

Co-authored-by: EvaBardou <eva.bardou38@gmail.com>
2022-02-10 18:14:18 +01:00
Marco Castelluccio 961a0a15b7 Add some additional tests for the not-historical get_regressions 2022-02-05 00:31:34 +01:00
Marco Castelluccio c130bb7055
Fix the cross config logic to consider failures as cross config when they happen on all configurations (#604)
* Fix the cross config logic to consider failures as cross config when they happen on all configurations

* Fix test

* A failure in a single task should not be considered as cross config

* Ensure a failure is considered intermittent only if the group run on multiple tasks and failed only in some

Instead of considering it an intermittent when it run and failed on a single task
2022-01-26 17:34:30 +01:00
Chidinma Afamefuna ca59143be3
Implement ability to perform retriggers on a push (#596)
Add tests for task.retrigger()
2022-01-24 12:37:15 -08:00
Bastien Abadie c2b9faa016
Speedup classification by avoiding to load each push information (#601)
* Use all information avaiable in json-pushes to populate bugs lists

* Fix conftest

* Fix tests/test_regression.py

* Always use full push info

* Use parse_bugs from hg_custom

* Update data structure in unit tests

* Fix bug on summary display for calcs

* Suggestions from Marco

* Support raw list of changeset IDs
2022-01-20 12:56:35 +01:00
Marco Castelluccio 3e4595a9e4
Add a parameter to get regressions without assumptions about backouts (#598)
Fixes #597
2022-01-18 20:27:26 +01:00
EvaBardou 069e5f6c8a
Cache tasks more often than only when a push is finalized (#580)
* Cache tasks more often than only when a push is finalized

* Add tests

* Try to fix CI

* Mock cache.get instead

Co-authored-by: Eva Bardou <ebardou@teklia.com>
2022-01-13 17:53:26 +01:00
EvaBardou 5388660fef
Fix intermittent groups having an empty list of tasks associated to them (#579)
Co-authored-by: Eva Bardou <ebardou@teklia.com>
2021-12-15 09:23:17 +01:00
Eva Bardou e5b4313e05 Fix some review related code snippets + tests 2021-12-03 13:25:51 -05:00
Eva Bardou ddb55e2a9d Mock is_finalized in tests to fix CI 2021-12-03 13:25:51 -05:00
EvaBardou d3c50aaa76
Allow to specify confidence thresholds and output path in classify command (#542) 2021-11-08 11:14:44 +01:00