Support integration branch bisection for Fenix (Bug 1857026)#2154
Support integration branch bisection for Fenix (Bug 1857026)#2154moztcampbell wants to merge 6 commits intomozilla:mainfrom
Conversation
f753da0 to
8e71bcf
Compare
db2e379 to
6a5463a
Compare
|
I think you are right that I have misplaced the patch that has |
6a5463a to
a83e5e8
Compare
|
In the second patch in stack, I introduce |
a83e5e8 to
90baa81
Compare
90baa81 to
9ed5724
Compare
9ed5724 to
f2d2219
Compare
|
Here is my complete stack with more testing and more bug fixes.
|
To allow configs that don't target "opt", use the first build type in the list as the default. Correct some minor test expectations.
The "nightly_repo" for these should be the VCS target which is mozilla-central, while the "nightly_base_repo_name" can name used by archive.mozilla.org. Also remove the arch_regex_bits variable which isn't helping.
The `has_build_info` property is set to False, but a `get_nightly_info_url` was not provided. Fix this and add a test case.
Add `ArchiveBuildUrls` and `ChangesetInfo` types to refactor the `NightlyInfoFetcher` so that the config can control how changeset is resolved instead of only using the .txt file mechanism. The config now provides a `get_nightly_changeset` method that examines build URLs scraped from server and then computes the corresponding changeset/repo if possible. The `has_build_info` property is also removed and instead we rely on a `get_nightly_info_url` method providing a non-default value.
f2d2219 to
42fac6e
Compare
The Fenix nightlies on archive.mozilla.org don't contain the usual build info txt files. As an alternative, use the hg.mozilla.org json-pushes API to look up based on buildid (datetime). Add a new interface to JsonPushes to look up the push at a specific timestamp rather than just a range of dates.
Set the name of the build type to "shippable" since the builds are all PGO. Note that the task names for Fenix call themselved 'nightly-simulation' but the intent is the same as 'shippable'. This also adds support for Focus, but that is less valuable since we don't schedule compatible builds very often.
42fac6e to
f3f28bc
Compare
|
I did another pass at this and replaced |
This improves support of Fenix and Focus by supporting bisection without the presence of build-info txt files on archive.mozilla.org. Instead of the text files, I use the existing JsonPushes modules to determine changeset based on build timestamp extracted from path names on archive.mozilla.org. With some small fixes to the FenixConfig, it is easy to support the Integration mixin and get proper pushlog support.
The current fenix builds use taskcluster routes called 'nightly' or 'nightly-simulation' that are roughly what we'd consider to be 'shippable' builds on desktop.