Created a separate kind for only signing with iscript, and another for notarization.
Once we validate this is good, we need to add it to l10n/emfree/etc and point repackage kind at it.
Differential Revision: https://phabricator.services.mozilla.com/D173967
Temporarily disable the live imgur page load tests on all platforms, for the Chrome application.
This test seems to be permafailing since 2023-03-01.
Differential Revision: https://phabricator.services.mozilla.com/D173982
We have evidence that http/2 upload speed is slow on fast networks.
Adding a test so that we can tune this on all plaforms
Differential Revision: https://phabricator.services.mozilla.com/D172467
This patch adds a method to inject the perftest change-detector task into mach try perf try runs. To do this, we need to flip the ordering of the try runs to do the base revision first, and the one with the changes (new) afterwards. This allows us to link a change-detector task in the new try run, with the base try run by passing a revision through the try-task-config.
The task can be triggered using --detect-changes. Once a user pushes to try, and after all of the performance tests finish in that push, the change-detector will start running, to generate a comparison. An artifact is produced with the results (revisions, and metrics regressed), and an exception is raise when a performance change is detected even if it's an improvement.
Differential Revision: https://phabricator.services.mozilla.com/D172284
This patch adds a new tool that runs a comparison between two, or more revisions to detect performance changes. Some changes are made to accommodate this new tool alongside the side-by-side tool. The tests for the detector coding are found in another patch in the series. A mozperftest-tools update to 0.2.5 is required for this change.
There is also a CI task that is added in this patch. It's setup in the mach try perf patch in this series, which also has more information.
Differential Revision: https://phabricator.services.mozilla.com/D172282
This patch adds three new shippable platforms running the nightly-as-release build. At the same time, browsertime essential tests are enabled for all three platforms on autoland.
Depends on D172029
Differential Revision: https://phabricator.services.mozilla.com/D172030
This patch adds a new nightly-as-release build for Windows, Linux, and MacOSx. These are nightly builds, but built with the following additional flag: `ac_add_options --as-milestone=release`
Three new builds are also added to CI: macosx64-nightly-as-release-shippable/opt, win64-nightly-as-release-shippable/opt, and linux64-nightly-as-release-shippable/opt
These are used to make 3 test-platforms to run browsertime tests in a following patch.
Differential Revision: https://phabricator.services.mozilla.com/D172029
Setting a timeout on the download means we can retry if the connection
hangs, instead of sitting around idle until the task itself hits its
maxRunTime.
Differential Revision: https://phabricator.services.mozilla.com/D173287
Before clang 16, the libunwind install only contained the libunwind.a
library. Since clang 16, however, it also contains header files,
including a unwind.h file that conflicts with the unwind.h file that
is also shipped alongside compiler-rt.
When building clang itself with compiler-rt and libunwind (i.e. not
building everything separately like we do), however, that's not a
problem because it puts libunwind in a different directory than
compiler-rt.
So we change the clang repacking to follow a similar convention.
But because clang doesn't look for libraries under clang/lib/$arch, but
looks under clang/lib/$target instead, we also need to enable per-target
directories for libunwind.
But because clang also looks for libraries under clang/lib/$exact_target
rather than clang/lib/$relaxed_target (in Android's case, exact_target
might be aarch64-unknown-linux-android21, relaxed_target
aarch64-unknown-linux-android), we patch clang to apply the same kind of
fallbacks it does for runtimes for clang/lib.
Differential Revision: https://phabricator.services.mozilla.com/D173363
Vendor in WebGPU CTS so that we can run it against our implementation of WebGPU. This patch includes:
1. Some linting configuration tweaks, to silence issues that weren't straightforward to fix in CTS upstream.
2. Some WPT runner configuration to enable preferences, and skip MacOS testing altogether (since it's not targeted by our current work).
3. A new Rust binary crate that, when run from a development environment:
1. Creates a vendored copy of WebGPU CTS in `<gecko>/dom/webgpu/tests/cts/checkout/`.
2. Generates private Web Platform Tests (see also `<gecko>/testing/web-platform/docs/index.rst`). To do this, we:
1. Use upstream test generation via `npm` scripts, which creates a single `cts.https.html` file with thousands of variants.
2. Chunk the `cts.https.html` file into parts that Taskcluster can distribute without timing out individual jobs. IMO, this is the most likely part of these changes to need further iteration, because:
1. We currently naively divide tests by number of variant, and have made no effort to empirically prove that we're dividing execution time of chunks.
2. There is currently no stability in the distribution of tests per chunk. Test variants are essentially a flattened list of the tree structure used to organize tests. Adding a few tests that end up being placed in the middle of the list can cause the chunk with new tests _and all subsequent chunks_ to have their contents changed, which will probably cause a disproportionate number of line changes to review.:
3. Fix `script` tag(s) so they actually work with the WPT test runner for private tests (viz., in the `testing/web-platform/mozilla` directory).
The output of the new vendoring binary is designed make the above steps transparent. N.B. that no actual vendoring in of files has happened yet; the next patch will add the results of running this script.
Differential Revision: https://phabricator.services.mozilla.com/D169951
When upgrading the NDK to r23, the wrench builds for android fail
because cargo apk starts adding flags to the cargo rustc call it does,
and that's not compatible with the wrench crate having both a lib and a
bin target.
As cargo apk only packages the lib in the apk, we can just be explicit
and build the library only.
Differential Revision: https://phabricator.services.mozilla.com/D173244
This patch temporarily removes the `--extra-profiler-run` flag from the Browsertime Benchmark tests in CI.
Originally the logic was intended for pageload tests. Currently it is causing some issues (intermittent failures and useless profiles for benchmarks)
so in the mean time we can disable it before spending time on fixing the implementation.
Differential Revision: https://phabricator.services.mozilla.com/D173172