Commit graph

1389 commits

Author SHA1 Message Date
Alexander Thomas d8177eff7e [infra] Turn off legacy tests for the Dart VM
Bug: b/310114753
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-release-x64-try,vm-kernel-linux-release-x64-try,vm-kernel-linux-debug-x64-try
Change-Id: Ib9b9de26068d719769643f413019260cacc5e837
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/335460
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2023-11-17 09:13:13 +00:00
Alexander Thomas 15a79bad53 [infra] Turn off legacy tests for the CFE
Bug: b/310114753
Cq-Include-Trybots: luci.dart.try:front-end-linux-release-x64-try
Change-Id: Ie02447da524b5cd0656db434ee8472434daeb3c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/335441
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2023-11-17 09:04:42 +00:00
Alexander Thomas 37744978a0 [infra] Turn off legacy tests for the analyzer
Bug: b/310114753
Cq-Include-Trybots: luci.dart.try:analyzer-linux-release-try,analyzer-mac-release-try,analyzer-win-release-try,analyzer-analysis-server-linux-try
Change-Id: I9fafc524a3f6f461e17c456f7a53570c74ebffa0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/335442
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2023-11-17 09:00:36 +00:00
Alexander Thomas 43b4c2bb03 [infra] Turn off legacy tests for web compilers
Bug: b/310114753
Cq-Include-Trybots: luci.dart.try:dart2js-hostasserts-linux-unsound-try,ddc-linux-chrome-unsound-try,dart2js-unit-linux-x64-release-try
Change-Id: Ia2c1b64981de75cf3051e215794767abb3250e2d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/335440
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2023-11-17 08:27:02 +00:00
Ryan Macnak c5c578e671 [vm, ffi] Don't read out-of-bounds when marshalling structs by value.
Switch the Windows ARM64 builds to use MSVC. Clang disagrees with itself about handling of small structs in variadic functions, allowing splitting between the last argument register and the stack as the callee but not as the caller.

TEST=ci
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64c-try,vm-ffi-android-release-arm-try,vm-ffi-android-release-arm64c-try,vm-ffi-qemu-linux-release-arm-try,vm-linux-release-arm64-try,vm-mac-debug-arm64-try,vm-mac-release-arm64-try,vm-win-debug-arm64-try,vm-win-release-arm64-try,vm-ffi-qemu-linux-release-riscv64-try,vm-linux-debug-ia32-try,vm-linux-release-ia32-try,vm-win-release-ia32-try,vm-linux-debug-x64-try,vm-linux-release-x64-try,vm-mac-debug-x64-try,vm-mac-release-x64-try,vm-win-debug-x64-try,vm-win-release-x64-try
Bug: https://github.com/dart-lang/sdk/issues/52644
Bug: https://github.com/dart-lang/sdk/issues/53829
Change-Id: I2fd6c40620a885479f11bb8528ca1e9df3948a2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/331209
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2023-11-14 19:23:33 +00:00
Ömer Sinan Ağacan 75c975fe6d [dart2wasm] Remove stringref target
stringref target won't be used any time soon (probably ever). To help
with build times and avoid keeping it updated remove it for now.

Change-Id: I0df33b7ab2e19bae5090e8ea32ea6a3dc3751652
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/334881
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Ömer Ağacan <omersa@google.com>
2023-11-10 09:49:37 +00:00
Vyacheslav Egorov 906ae3a9a6 [infra] Run tests using ad-hoc signed binaries on CI
This would allow us to catch issue with hardened runtime
which previously would slip through and only be discovered
after release.

Issue https://github.com/dart-lang/sdk/issues/53928

R=whesse@google.com

Change-Id: Iea1ced5433a3cf753d251a519a1de7bd0673ea3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/333822
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
2023-11-03 13:18:10 +00:00
Nate Biggs ad2708d071 [dart2js] Delete modular compilation step.
The Dart2JS team has agreed that this mode of compilation is no longer worth investing in at this time and its existence adds some overhead to other feature work so it is worth fully removing. In the future we may revisit this mode of compilation. Below is some more context for any future exploration in this space.

What didn't work with modular analysis:
- current modular analysis was computing impacts, which were dense (50% of the size of kernel)
- using it moved work to a modular phase, and cut Phase1 in half however end-to-end time was not better
- data overhead was very high
- it made it much harder to maintain invariants throughout the pipeline: the data is tightly coupled with the kernel AST, making it hard to make late modifications to the AST.

How to potentially make it better:
- make the data much more sparse
- make the data more independent from the kernel AST so that transformations are not breaking
- reduce the critical path in a more substantial way.

Note: We retain and ignore the commandline flags used for modular analysis in order to avoid breaking build pipelines that were passing them. We may remove these at a later date.

Change-Id: If574ce2358280ab5fedd89c62665328601e72e22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/333360
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2023-11-03 00:11:50 +00:00
Ryan Macnak 47ae85b075 [infra] Split the build for pkg-win-release-arm64 across multiple steps.
Change-Id: I6bca8cd05c2a305d7310e1a6976d49f93a6e1ed3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/333042
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-11-02 18:13:34 +00:00
Ryan Macnak 573fad4ff0 [test] Cleanup building Fuchsia packages/components.
Build one package with three elf_test_runner components: one for each of the binaries that the test harness invokes on the target. (Though currently only tests that use "dart" are setup.)

Create includable CML shards for the capabilites required by the AOT and JIT VMs.

Fold test_runner's fuchsia_cfv2.dart back into fuchsia.dart.

TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/38752
Change-Id: I7bd8d43d184cbcb11903c7aed77ce31fb30cb894
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/332451
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zijie He <zijiehe@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-10-31 17:11:51 +00:00
Parker Lougheed 9615958211 Use https license link in api.dart.dev footer
Change-Id: I0ef748f1489512644c2c1e17b6f27272ae6bb09a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/332181
Reviewed-by: Kevin Moore <kevmoo@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Auto-Submit: Parker Lougheed <parlough@gmail.com>
2023-10-30 22:06:55 +00:00
Ryan Macnak 4fa5cadb36 [test] Switch Fuchsia testing to CFv2.
Bug: https://github.com/dart-lang/sdk/issues/38752
Change-Id: Id6519937cfa8430249d576c99aeb6bdb9f97dbb7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/332481
Reviewed-by: Zijie He <zijiehe@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-10-30 20:03:40 +00:00
Ryan Macnak d5ad08c027 [infra] Add configurations for Windows and Linux ARM64 pkg builders.
Also renames the test configurations for x64 to include the architecture.

Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Change-Id: I76e259a059e9fe16f4799d65f2bb5380a9c6fb94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/330028
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2023-10-27 12:22:52 +00:00
Nicholas Shahan 89886de2e8 [tests] Seal native Object in benchmarks test
Run the seal_native_object.js preamble before any other code when
trying to benchmark dart2js compiled code.

Change-Id: Iec95dd3189869738185bce34f5202be4db0b90f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/330669
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2023-10-25 17:40:21 +00:00
Sigmund Cherem d358abfd1f [web] do not run most 'pkg' suite on web compilers
Many tests under `pkg`, like `pkg/js_ast` and `pkg/analyzer_cli` are
meant to run as unit tests in the Dart VM. These were also being run in
dart2js and causing flakiness because they took a long time to build on
our CQ.

Locally some of these tests compile in under 5s, but we see the
compile-time vary among the bots a lot. I've observed cases close to 30s
and some that reach the 1-minute timeout cutoff. Flakiness data show
that this is happening between 5-7% of the runs, especially on linux
bots.

This CL stops running these tests on the dart2js configuration by
changing which subset of the `pkg` suite is provided to dart2js. It also
adjusts the .status file to skip a few suites for convenience on local
testing only. This allows developers locally to run `test.py -n... pkg`
without worrying about filtering out skipped suites.

Addendum: after discussions on the CL we decided not to cmpletely drop
coverage of js_ast tests on JS to ensure it can be used in browser
environments in the future. To support this we made made the tests
cheaper by removing the dependency on package:test. They will now only
be run in a single configuration, which is all we need for this purpose.
We can reevaluate and remove this if we continue to see timeouts.

Change-Id: Idf0dbdd37e412ef71ba117ec979cb1e52585c431
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/330704
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2023-10-20 19:08:17 +00:00
Ryan Macnak 99bb8aa4a5 [build, test_runner] Update to NDK 27.
Notably, this carries us across the gcc->llvm transition.

Change-Id: I46203749c64c7ef0f52de40abcd4a073517cb06f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/330949
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2023-10-18 22:38:23 +00:00
asiva 9b521df35f [VM/Tests] Remove dart_2 and standalone_2 test directories
- Remove test directories standalone_2 and dart_2
- Remove all references to standalone_2 and dart_2 in test scripts

TEST=ci

Change-Id: I574868e274558efbbe12fe8b6408bbe77a888583
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/330982
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2023-10-18 18:59:51 +00:00
Ryan Macnak 339d16e8b1 [infra] Skip unnecessary build step for QEMU RISCV64.
Change-Id: Ib7bef7aa9e0f4b76815749268c4990393a2342b1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/330686
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-10-17 18:07:23 +00:00
Ryan Macnak 7534626f1e [infra] Enable Linux ARM64 try jobs, step 3.
Change-Id: Ib5a37f83ef2b1c8b2d5b17df8496af4b9cb608e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/327241
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2023-10-05 05:02:29 +00:00
Ryan Macnak c2a1585462 [infra] Enable Linux ARM64 try jobs, step 1.
Change-Id: I7bf26e933594f28caf543547df6c2c664a958897
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/328560
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-09-29 15:05:10 +00:00
Ömer Sinan Ağacan f7064fc4fa [infra,dart2wasm] Add dart2wasm Firefox test configurations
Change-Id: I567732843bc305c4a42f10027cf0e9c705874713
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/328822
Commit-Queue: Ömer Ağacan <omersa@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-09-29 12:54:12 +00:00
Jonas Termansen a97b977148 Reland "Forward compatibility for renaming the be channel to main."
Delete lots of dead code in bot_utils and utils. The logic has been
migrated into the recipes for a long time already or has otherwise
become obsolete.

This second version restores IncreasedNumberOfFileDescriptors which was
accidentally deleted while still in use.

Bug: b/270022416
Change-Id: Iea3a607663886c24ea7e0d19ea2a8a615f40ec31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/327867
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2023-09-27 14:27:40 +00:00
Daco Harkes 0fdd69ac6e Revert "Forward compatibility for renaming the be channel to main."
This reverts commit 90300b9ca1.

Reason for revert: A bunch of purple bots mentioning:
`NameError: name 'IncreasedNumberOfFileDescriptors' is not defined`.

Original change's description:
> Forward compatibility for renaming the be channel to main.
>
> Delete lots of dead code in bot_utils and utils. The logic has been
> migrated into the recipes for a long time already or has otherwise
> become obsolete.
>
> Bug: b/270022416
> Change-Id: I7977c7a0d129e6112ad143f10f554aec7d9f653f
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326780
> Commit-Queue: Jonas Termansen <sortie@google.com>
> Reviewed-by: Alexander Thomas <athom@google.com>

Bug: b/270022416
Change-Id: I3b008eeb2c729fce4e9abc5879c91d2416dfa692
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/327960
Reviewed-by: Martin Kustermann <kustermann@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2023-09-26 15:11:41 +00:00
Jonas Termansen 90300b9ca1 Forward compatibility for renaming the be channel to main.
Delete lots of dead code in bot_utils and utils. The logic has been
migrated into the recipes for a long time already or has otherwise
become obsolete.

Bug: b/270022416
Change-Id: I7977c7a0d129e6112ad143f10f554aec7d9f653f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326780
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-09-26 12:52:03 +00:00
Ryan Macnak 14d2789f18 [infra] Define an AOT eager optimization configuration.
Change-Id: I1098392c67da82d97c95b16490eb3beb31601896
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326760
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2023-09-21 15:24:32 +00:00
Ömer Sinan Ağacan 3ee5bdfcf3 [dart2wasm] Add test configuration to test with wasm-opt
- Update dart2wasm script to accept a `-O` argument. When passed it also
  passed `--inlining-limit 10` to dart2wasm (unless it's already passed
  by the caller) and runs wasm-opt on the output, with the same
  arguments as `compile_benchmark`.

- Add new test configurations to run tests with optimized binaries.
  Example configuration: `dart2wasm-linux-optimized-d8`.

Change-Id: Ia7bd8d9c99d3a4baecb72b92b2ba38c0e92807c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326620
Commit-Queue: Ömer Ağacan <omersa@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2023-09-19 10:29:43 +00:00
Ryan Macnak ea9656ba38 [test] XCode's nm not available on shards that haven't yet run main task.
Change-Id: Ib438cac3acf1842afb4d55a203d1f7a0c91f5918
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325451
Commit-Queue: Tess Strickland <sstrickl@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-09-13 10:27:59 +00:00
Zijie He 5282f6e33f [Fuchsia] Create CFv2 support
This change created a CFv2 build target and provided two
implementations of the FuchsiaEmulator, so that I can continually work
on both CFv2 build and test script integration independently.

The v2 target can be built with
```
tools/build.py --os fuchsia --mode release fuchsia_ffi_test_package_cfv2
```
And v2 FuchsiaEmulator implementation can be triggered with
FUCHSIA_CFV2 environment variable.

Bug: #38752
Change-Id: I31936a2ca967fbfeb2bc5628e2f005aef6762687
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/322583
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zijie He <zijiehe@google.com>
2023-09-12 01:40:52 +00:00
Ömer Sinan Ağacan 5865e6db9f [dart2wasm,smith] Add options support in test_matrix.json, jscm builder
- Add dart2wasm_options syntax to test_matrix.json.

- Add a new builder for the JavaScript compatbility mode
  (`--js-compatbility`).

Change-Id: I32642e932f1d4a8a74b5b75f7783117520d51f02
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/322281
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ömer Ağacan <omersa@google.com>
2023-09-11 10:50:22 +00:00
Jens Johansen 0dc590e752 [CFE] Weekly bot needs ddc_outline_unsound.dill
Change-Id: I91be361535e8ac9c60dafe360c093ab7428f6d49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/324022
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2023-09-04 11:24:28 +00:00
Nicholas Shahan a0ebfb9c3c [ddc] Add canary benchmark configs to test
This should signal what is needed to add DDC canary mode
golem configs.

Change-Id: Id1fe8ed016641bda4bfa9e5fabacc78b26a35503
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/315560
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2023-08-18 23:15:55 +00:00
Nicholas Shahan f167e03ce5 [ddc] Update benchmark test to new build targets
Provides a signal for what needs to change in the golem configuration.

Change-Id: I1b77ec88ba3076cd4a0296a78950ed209e996661
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/316843
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2023-08-18 22:21:47 +00:00
Nicholas Shahan 5ed1a94ced [ddc] Update ddc stable targets to use new targets
- Updates test infra to use the assets built by the new "ddc" build
  targets.
- The old "dartdevc" targets are still present to avoid breaking 
  golem when this change lands.
- Old targets are still used when packaging assets for the SDK.
- Golem and the SDK packaging will be updated in following changes.

Change-Id: I1926e0c86833c812f5ed8355d7cd4df8740d79ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/315224
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2023-07-31 16:06:07 +00:00
William Hesse c1d081fbcd [test] Run all tests of native_assets on the main builder, not a shard
These tests require the toolchain to be present on the host, so
should not run on a shard.

Bug: https://github.com/dart-lang/sdk/issues/53060
Change-Id: I3a1adbf3b215d03c5f8c17d07d699af3c2951725
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/317100
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2023-07-31 13:17:31 +00:00
Nicholas Shahan f4e949609c [ddc] Add new build targets for DDC assets
- Introduces a new output subdirectory `gen/utils/ddc` where the
  new build targets output files. This is intended to make the
  migration to the new assets easier since landing this change
  shouldn't immediately break any dependencies.
- Enables building the canary and stable assets at the same time.
- Changes more names in our workflow from "dartdevc" to "ddc".
- Updates the ddc-canary-linux-chrome and
  ddc-canary-linux-chrome-unsound configurations to use the
  new assets.

The new outputs appear in directories that are more consistently
named, (no more sound vs kernel confusion). They are named in
preparation for the eventual deletion of the unsound targets
without any lingering cruft to be cleaned up in the sound
directories.

The new structure is:

```
gen/utils/ddc/
           |- canary
           |  |- pkg
           |  |- sdk
           |- canary_unsound
           |  |- pkg
           |  |- sdk
           |- stable
           |  |- pkg
           |  |- sdk
           |- stable-unsound
              |- pkg
              |- sdk
```

The 'pkg' and 'sdk' directories all contain outputs with the same
files names, each compiled in the respective build modes
(sound/unsound and stable/canary).

Change-Id: I66822ebf03bba487b6d359a8e0aa818b9e7b6bef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313081
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2023-07-25 00:19:52 +00:00
Nicholas Shahan 9c7a5b8ed0 [ddc] Create new configs for DDC unit test results
- Run the tests on the existing DDC bots.
- In the future we would like to move these to their own bots so
  they can be triggered individually.

Change-Id: I2ab022f19323cdfd20f42ef5c41777547ec428f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313882
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Anna Gringauze <annagrin@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2023-07-24 17:44:19 +00:00
William Hesse 9692a9dfef Revert "Balance tests equally across shards."
This reverts commit f827eb3a78.

Reason for revert: The tests being run, and the results being compared to, are changing dramatically, causing all sorts of test results going from [status] -> Skipped and from New Test -> [status].

Something is really going wrong.

Original change's description:
> Balance tests equally across shards.
>
> The sharded test runner invocations are now passed the previous results
> which contains the test timing, which are used to simulate how long each
> shard would take to run. The shards are now balanced as evenly as
> possible on a test level, taking multiple cores into account.
>
> Sharded tests are now run starting with the slowest test first, such
> that extremely long running tests finish as early as possible. This
> behavior ensures the cores are saturated and can be padded with fast
> tests near the end, rather than waiting for a few slow tests to complete
> while the rest of the system is idle.
>
> The algorithm works very well whenever it's able to accurately predict
> the time to run shards. In a number of cases, the model doesn't quite
> reflect reality and the data, which makes it fairly imperfect but still
> reasonably good. I think a second order feedback loop might kick in once
> it reorders the tests across shards and the test timing data reflects
> the new test timings.
>
> Multitests are no longer always sent to the same shard, since the data
> isn't available at the moment, and the change as-is speeds up the test
> running considerably.
>
> The front end unit test suites currently ignore the feature as there are
> no benefits yet to improving those quick shards.
>
> Upgrade the language version to 3.0.0 so patterns can be used and fix
> a mixin not being a mixin.
>
> Fixes: b/291585137
> Change-Id: I3cc1b1d96038d5b46e836b091e299097717c226c
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/314081
> Reviewed-by: William Hesse <whesse@google.com>
> Commit-Queue: Jonas Termansen <sortie@google.com>

Change-Id: I233e4bfa6d6ecf0cea4f97c1e47f1635f7b9040c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/315060
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: William Hesse <whesse@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2023-07-19 23:56:06 +00:00
stuartmorgan 69f95fa2cd Add --downgrade to flutter/packages analysis
Closes https://github.com/dart-lang/sdk/pull/52989

GitOrigin-RevId: 0f3e9114c0afe23ebfda7d80e89e5cd46a4419fa
Change-Id: I7d0632c8efd34b414b47d1e8d80e7996a5d7726e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/314920
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2023-07-19 20:10:38 +00:00
Jonas Termansen f827eb3a78 Balance tests equally across shards.
The sharded test runner invocations are now passed the previous results
which contains the test timing, which are used to simulate how long each
shard would take to run. The shards are now balanced as evenly as
possible on a test level, taking multiple cores into account.

Sharded tests are now run starting with the slowest test first, such
that extremely long running tests finish as early as possible. This
behavior ensures the cores are saturated and can be padded with fast
tests near the end, rather than waiting for a few slow tests to complete
while the rest of the system is idle.

The algorithm works very well whenever it's able to accurately predict
the time to run shards. In a number of cases, the model doesn't quite
reflect reality and the data, which makes it fairly imperfect but still
reasonably good. I think a second order feedback loop might kick in once
it reorders the tests across shards and the test timing data reflects
the new test timings.

Multitests are no longer always sent to the same shard, since the data
isn't available at the moment, and the change as-is speeds up the test
running considerably.

The front end unit test suites currently ignore the feature as there are
no benefits yet to improving those quick shards.

Upgrade the language version to 3.0.0 so patterns can be used and fix
a mixin not being a mixin.

Fixes: b/291585137
Change-Id: I3cc1b1d96038d5b46e836b091e299097717c226c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/314081
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2023-07-19 12:24:38 +00:00
Joshua Litt 9e37c2b480 [dart2wasm] Add JS compatibility mode.
The purpose of the wasm_js_compatibility target is to facilitate experiments with a JS compatibility mode for Dart2Wasm. Initially, we're just going to focus on typed data, but this will give us a place to experiment with moving List and String to JS as well.

In addition, someday down the road we hope to experiment with two additional compatibility changes:
1) Exclusively using double for all Dart numbers
2) Allowing undefined to flow as null.

The two major benefits of this approach are:
1) Much faster JS interop
2) To make it easier to bring up Dart2JS applications on Dart2Wasm

The only downside will be access overhead on the Wasm side, but the JS builtins proposal could potentially bring us close to parity with Wasm builtins someday.

Tested: Wasm specific trivial refactor.
Change-Id: I2c09426b6999507c1de6e584e9bc7072a088bda9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313240
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2023-07-18 19:34:38 +00:00
Jonas Termansen f9b8917e30 Balance VM JIT and AOT shards.
Add test.py --default-suites that includes all the default suites in
addition to the ones explicitly requested, so the test matrix can run
co19 together with the default suites in one sharded test step.

Bug: b/290617138
Change-Id: I5dd5d1aaf3b1ee38adf88c6e9ee6ec13d97fe1ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313567
Reviewed-by: William Hesse <whesse@google.com>
2023-07-14 16:01:09 +00:00
Jonas Termansen 2a302a96ac Balance ddc-linux-chrome-unsound shards.
Bug: b/290617138
Change-Id: I6f60f1d7ba96832cda96f34f436f593717460709
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313820
Reviewed-by: William Hesse <whesse@google.com>
2023-07-14 15:52:48 +00:00
Jonas Termansen ab4ab9b52e Balance ddc-linux-chrome shards.
Bug: b/290617138
Change-Id: I7ac3f0136e059bdbea3d72c3a3f64611472b2c96
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313564
Reviewed-by: William Hesse <whesse@google.com>
2023-07-14 15:52:11 +00:00
Jonas Termansen 26a94439c6 Balance dart2js-unit-linux-x64-release shards.
The non-sharded tests takes 10 minutes and each of the sharded tests
takes 14 minutes. It's faster to shard immediately (costing one bot
more) and concurrently run the local tests.

Fix end to end dart2js test that times out when sharded and run outside
a directory called sdk.

Bug: b/290617138
Change-Id: If71f0d301edf565c9f15847098320106ca383635
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312983
Reviewed-by: William Hesse <whesse@google.com>
2023-07-14 15:38:29 +00:00
Jonas Termansen f7a138417c Balance dart2wasm-linux-chrome shards.
The try builder is among the fastest commonly used builders at 21
minutes average, which is less than the current 25 minute best case
goal. Free up 2 of 10 shards to be available for other work during peak
load, which will slow it down by 2 or 3 minutes and finish at the same
time as the other try builders, resulting in an overall faster commit
queue experience.

Bug: b/290617138
Change-Id: Iea2ba71248fa0d3c21f1d80b540b55ce810d96af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313565
Reviewed-by: William Hesse <whesse@google.com>
2023-07-14 13:39:26 +00:00
Jonas Termansen 4ac58f4df4 Optimize benchmark-linux-try.
Bug: b/290617138
Change-Id: I898ab9d7b441c58cec4b9604860ee4fcdfcbc994
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313783
Reviewed-by: William Hesse <whesse@google.com>
2023-07-14 11:35:36 +00:00
Jonas Termansen 006b3a8780 Balance front-end-linux-release-x64 shards.
Bug: b/290617138
Change-Id: I9747fe4d5ec995bd17ccf3781036a52af9c2de19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313506
Reviewed-by: William Hesse <whesse@google.com>
2023-07-14 09:54:39 +00:00
Jonas Termansen 185aa1f36f Balance dart2js-linux-chrome shards.
Bug: b/290617138
Change-Id: If6217e2774dd7a6fe2834e64d3a9daf10eebda0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313486
Reviewed-by: William Hesse <whesse@google.com>
2023-07-13 16:04:24 +00:00
Jonas Termansen 073ffa0ca9 Balance dart2js-hostasserts-linux-d8 shards.
Bug: b/290617138
Change-Id: Icef886185e300f4555207463d90ac5ae8f24baf1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313485
Reviewed-by: William Hesse <whesse@google.com>
2023-07-13 16:00:54 +00:00
Jonas Termansen 21c18eb046 Balance analyzer-linux-release shards.
Bug: b/290617138
Change-Id: Icd9fef5b7462fcebe92a6ff4af946b225be889e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313484
Reviewed-by: William Hesse <whesse@google.com>
2023-07-13 15:51:41 +00:00
Jonas Termansen 172f76ce8c Balance front-end-nnbd-linux-release-x64 shards.
Bug: b/290617138
Change-Id: Ief19c6f377ad35f4cc8a681a7f471ddc0075ff2b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313502
Reviewed-by: William Hesse <whesse@google.com>
2023-07-13 14:12:56 +00:00
Jonas Termansen 84e8babf23 Balance dart2js-hostasserts-linux-unsound shards.
The test steps with the same configurations have been unified and
the shard number balanced so each step finishes as closely to each
other as possible.

Bug: b/290617138
Change-Id: I6616fb78e5cd6db36153db0d9e2b45131eef25fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312984
Reviewed-by: William Hesse <whesse@google.com>
2023-07-13 13:09:37 +00:00
Ryan Macnak 2051bcf619 [infra] Reduce the suites run by Windows ARM64 to fit under the timeout.
Change-Id: I37070079ddbdc86fb0e5144842690877abb1b031
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313283
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-07-12 21:06:27 +00:00
Daco Harkes b64ef27dec [pkg/ffi] Roll dart-lang/native
Rolling https://github.com/dart-lang/native/pull/87 manually because
of the c_compiler -> native_toolchain_c rename.

Change-Id: I2592882a7137a40703f96a487a66d31eac7c990d
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313200
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2023-07-11 19:14:48 +00:00
Alexander Thomas 9a741507d1 [infra] Add missing build targets to windows arm64 AOT builders
Change-Id: I995d739948858473d8213262509910b158c04ef5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312985
Reviewed-by: William Hesse <whesse@google.com>
2023-07-11 10:58:42 +00:00
Ryan Macnak 99ef36064f [infra] Make the sanitizer a first-class status variable.
Makes the TSAN skips apply to
 `test.py -mrelease --sanitizer=tsan`
and not just
 `test.py -n vm-tsan-linux-release-x64`.

Also makes the timeouts agree.

Change-Id: I10315e754a4ebb3020f3c2f6cecfac6b77e77a9b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311828
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-07-10 17:46:31 +00:00
Jonas Termansen 089364baab Shard pkg-linux-release-try.
Fixes: b/290033281
Change-Id: Id04aa6f71fcbb29c62c2ba3abdb7812f3e3cb8f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312482
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2023-07-05 16:23:40 +00:00
Daco Harkes bd1bad7afc [deps/ffi] Unbundle package:native_assets_builder
The Dart SDK CL for https://github.com/dart-lang/native/pull/69.

Bug: https://github.com/dart-lang/native/issues/67
Change-Id: I45d7ac691a6aaa41bce5be0e36403021a948bb4f
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311740
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2023-06-28 09:09:09 +00:00
Nate Bosch a92a1e5064 Use main branch for flutter engine clones
The master branch was renamed to main.

Change-Id: Ib38f3976b497c17e0bda904cb99864e127016272
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311153
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2023-06-23 23:31:36 +00:00
Aske Simon Christensen 5838562040 [dart2wasm] Add option and target for stringref.
This adds basic infrastructure for a stringref implementation in
dart2wasm:

- A `--[no-]stringref` option to the compiler
- An option in the `WasmTarget`, controlling the name of the target
- Separate sets of patch files for the two targets
- Separate platform dill files for the two targets

For now, the patch file contents are the same, and the compiler flag
is not used by the backend (only by the `dart2wasm` script to select
the appropriate platform dill file). Both of these will change as the
implementation progresses.

Tested: ci + manual check that the option selects the correct dill
Change-Id: I2c9bb95ba06fd3de3f7007703ef545e3f0c728ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/310621
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
2023-06-21 14:25:38 +00:00
Jonas Termansen 9421ca0799 Delete old debianpackage-linux builder.
This has been replaced by debian-x64 via its own recipe.

Bug: b/283763308
Change-Id: I1ae5950407ba7a4caae7467b1b1e7b6d3d6fb781
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/304882
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2023-06-06 14:26:45 +00:00
Ryan Macnak 32977d8f43 [infra] Setup Windows ARM64.
Change-Id: I6a9c5beba0ec909b75a463de04586787068fdbcd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/303424
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-06-02 18:18:09 +00:00
Alexander Thomas 8dfd80486e [infra] Rename dart2wasm configurations and builders
This aligns builder names and configuration to make them more user
friendly.

Bug: b/285245159
Change-Id: Iac91bb24035ed4ed23dee36b10d290b345dfd221
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/307041
Reviewed-by: Ömer Ağacan <omersa@google.com>
2023-06-02 12:48:11 +00:00
Ryan Macnak b43d95a942 [test] Re-establish at least some Fuchsia testing.
Only works with FFI tests that don't use multitest. I.e., tests that only need things inside fuchsia_ffi_test_package.

Change-Id: I17d8cb4eafe02430f64f6ec60601095c49c54810
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/306675
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-06-01 22:44:03 +00:00
Ömer Sinan Ağacan 0f49f23be4 [dart2wasm] Add support for testing in Chrome
d8 doesn't have some of the JS and HTML functions we need for event and
micro-task scheduling. In [1] we add mock functions to allow running in
d8, but that means the mock event loop can run differently than the
actual Chrome event loop, so we need to test in Chrome. This CL adds
support for this.

[1]: https://dart-review.googlesource.com/c/sdk/+/305201

New failing tests with the new configuration:

language/nnbd/static_errors/unchecked_use_of_nullable_test/30 broke (RuntimeError -> Pass, expected RuntimeError)
language/regress/regress24935_test/01 broke (RuntimeError -> Pass, expected RuntimeError)
language/unsorted/flatten_test/01 broke (RuntimeError -> Pass, expected RuntimeError)
language/unsorted/flatten_test/05 broke (RuntimeError -> Pass, expected RuntimeError)
language/unsorted/flatten_test/09 broke (RuntimeError -> Pass, expected RuntimeError)
lib/js/export/static_interop_mock/proto_test is new and failed (CompileTimeError, expected Pass)
lib/js/static_interop_test/constants_test is new and failed (CompileTimeError, expected Pass)
lib/js/static_interop_test/futurevaluetype_test is new and failed (CompileTimeError, expected Pass)
lib/js/static_interop_test/supertype_transform_test is new and failed (CompileTimeError, expected Pass)

New passing tests with the new configuration:

co19/Language/Expressions/Function_Invocation/async_generator_invokation_t10 was fixed (Fail -> Pass)
co19/Language/Libraries_and_Scripts/Scripts/top_level_main_t01 was fixed (RuntimeError -> Pass)
co19/Language/Libraries_and_Scripts/Scripts/top_level_main_t06 was fixed (RuntimeError -> Pass)
co19/Language/Statements/Yield_and_Yield_Each/Yield/execution_async_A01_t07 was fixed (RuntimeError -> Pass)
co19/Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_A03_t03 was fixed (Fail -> Pass)
co19/Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_A03_t07 was fixed (Fail -> Pass)
co19/Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_A03_t08 was fixed (RuntimeError -> Pass)
co19/Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_A03_t09 was fixed (RuntimeError -> Pass)
co19/Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_A03_t11 was fixed (Fail -> Pass)
co19/LibTest/async/Future/Future.delayed_A01_t02 was fixed (RuntimeError -> Pass)
co19/LibTest/async/Stream/Stream.periodic_A01_t01 was fixed (RuntimeError -> Pass)
co19/LibTest/async/Stream/Stream.periodic_all_t01 was fixed (RuntimeError -> Pass)
co19/LibTest/async/Stream/Stream.periodic_all_t02 was fixed (RuntimeError -> Pass)
co19/LibTest/async/Stream/Stream.periodic_all_t03 was fixed (RuntimeError -> Pass)
co19/LibTest/async/StreamController/StreamController.broadcast_Stream_all_A01_t01 was fixed (RuntimeError -> Pass)
co19/LibTest/async/StreamController/StreamController.broadcast_Stream_all_A01_t02 was fixed (RuntimeError -> Pass)
co19/LibTest/async/StreamController/StreamController.broadcast_Stream_all_A01_t03 was fixed (RuntimeError -> Pass)
co19/LibTest/async/StreamController/StreamController.broadcast_Stream_all_A02_t01 was fixed (RuntimeError -> Pass)
co19/LibTest/async/StreamController/StreamController.broadcast_Stream_all_A02_t02 was fixed (RuntimeError -> Pass)
co19/LibTest/async/StreamController/StreamController.broadcast_Stream_all_A02_t03 was fixed (RuntimeError -> Pass)
co19/LibTest/async/StreamController/stream_all_A01_t01 was fixed (RuntimeError -> Pass)
co19/LibTest/async/StreamController/stream_all_A01_t02 was fixed (RuntimeError -> Pass)
co19/LibTest/async/StreamController/stream_all_A02_t01 was fixed (RuntimeError -> Pass)
co19/LibTest/async/StreamController/stream_all_A02_t02 was fixed (RuntimeError -> Pass)
co19/LibTest/async/StreamController/stream_all_A02_t03 was fixed (RuntimeError -> Pass)
co19/LibTest/async/Timer/Timer.periodic_A01_t01 was fixed (RuntimeError -> Pass)
co19/LibTest/async/Timer/Timer_A01_t01 was fixed (RuntimeError -> Pass)
co19/LibTest/core/Stopwatch/elapsedTicks_A01_t01 was fixed (RuntimeError -> Pass)
corelib/throw_half_surrogate_pair_test/01 was fixed (NonUtf8Output -> RuntimeError)
corelib/throw_half_surrogate_pair_test/02 was fixed (NonUtf8Output -> RuntimeError)
language/async/return_throw_test was fixed (RuntimeError -> Pass)
language/async_star/async_star_await_for_test was fixed (RuntimeError -> Pass)
language/async_star/async_star_test was fixed (RuntimeError -> Pass)
language/async_star/yield_test was fixed (Fail -> Pass)
language/async_star/yieldstar_test was fixed (Fail -> Pass)
language/import/conditional_string_test is new and succeeded (Pass)
language/regress/regress21795_test was fixed (RuntimeError -> Pass)
language/regress/regress23244_test was fixed (RuntimeError -> Pass)
lib/async/multiple_timer_test was fixed (RuntimeError -> Pass)
lib/async/periodic_timer2_test was fixed (RuntimeError -> Pass)
lib/async/periodic_timer3_test was fixed (RuntimeError -> Pass)
lib/async/periodic_timer4_test was fixed (RuntimeError -> Pass)
lib/async/schedule_microtask_test was fixed (RuntimeError -> Pass)
lib/async/slow_consumer2_test succeeded again (Pass -> skipped)
lib/async/stream_timeout_test was fixed (RuntimeError -> skipped)
lib/async/timer_isActive_test was fixed (RuntimeError -> Pass)
lib/async/timer_repeat_test was fixed (RuntimeError -> Pass)
lib/async/timer_test was fixed (RuntimeError -> Pass)

Change-Id: I2c2f837b4a6093a1a9aad357df21a04a6907ab6f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/305941
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Jackson Gardner <jacksongardner@google.com>
Commit-Queue: Ömer Ağacan <omersa@google.com>
2023-05-31 18:06:55 +00:00
Ryan Macnak b0170463af [infra] Run JIT FFI tests on QEMU.
Change-Id: I97dd32cff783265de6a431276434e79bb030939b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/299780
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-05-26 23:22:32 +00:00
William Hesse 45f8866764 [infra] Forgive flakiness on tests that have been stable for a week
Flaky tests that have been stable for the last 100 runs are forgiven,
and not considered flaky any more.

Because nighly builders take three months to run 100 times, we also
set a flakiess horizon of one week, and tests that have been stable
for one week are also no longer considered flaky.

If flakiness reoccurs, the flakiness record for that test is
reactivated, with all historical flakiness data kept.

Bug: b/284458092
Change-Id: I5534314d810680e71667d7c0c790e6151dea9578
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/306040
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2023-05-26 18:07:16 +00:00
Ryan Macnak 40b4e1dcd8 [infra] Switch dart2wasm configurations to --nnbd=strong.
Change-Id: Ib9a5f47420c431249e0a27a7a986b9de95f72970
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/305481
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
2023-05-25 15:54:14 +00:00
Ryan Macnak 032ace1944 [infra] Change default NNBD to strong.
Change-Id: I2d52bdb1747346d118ef962ab2caf910fe8ebf53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296703
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-05-24 20:48:36 +00:00
Ryan Macnak 4a804b885a [infra] Rename VM fileset.
There is no non-kernel set to distinguish.

Change-Id: I28b1c0c0b7f778aebc9c6f426c1ab48acc37fe1b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/293522
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-05-23 19:55:48 +00:00
Ryan Macnak 5ad110fc4c [infra] Remove unused legacy configs and builders.
Change-Id: Id1c942eeb4c09b25a1349a98d5e783507a3b342b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/303010
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-05-16 21:06:43 +00:00
Ryan Macnak 37145bc023 [infra] Define builders for Windows ARM64.
Change-Id: I13aa4441b5fe9a9d78d57cb4350a26aea5b8dbda
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/303006
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-05-15 16:52:30 +00:00
Daco Harkes d360edf2f3 [pkg][vm] Native Assets builder
This package contains the logic for building native assets.

This package is the backend that invokes toplevel `build.dart` scripts.
For more info on these scripts see https://github.com/dart-lang/native.

This is a separate package so that dartdev and flutter_tools can reuse
the same logic without flutter_tools having to import dartdev.

Some design decisions:

* We don't yet have `build_dependencies`, so we use the ordinary
  dependency graph for ordering of native assets builds. (If there is
  a cycle we refuse to run.)
  Bug: https://github.com/dart-lang/pub/issues/3794
* Builds are cached based on all the configuration provided by the
  caller. Environment variables are ignored in caching. This CL also
  contains a unit test that invokes the build by not passing through
  environment variables. However, for Windows we need to pass through
  at least `SYSTEMROOT` for MSVC to run correctly. So we might need
  to further explore if we can/want to lock env variables down.
  Bug: https://github.com/dart-lang/native/issues/32
  Bug: https://github.com/dart-lang/native/issues/33

Run tests:
```
dart tools/generate_package_config.dart && \
tools/test.py -n unittest-asserts-release-linux pkg/native_assets_builder
```

Bug: https://github.com/dart-lang/sdk/issues/50565
Change-Id: I133052d7195373e87d20924d61e1e96e3d34ce8f
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/300203
Reviewed-by: Liam Appelbe <liama@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Hossein Yousefi <yousefi@google.com>
2023-05-15 13:49:30 +00:00
William Hesse 022d92e391 [infra] Fix utility used when bisecting CI failures
The bisection capability for failing builds on the CI is not much
used, and it is failing when updating the build information in Firestore.

A simple error in the script is causing the current error, so
this CL fixes a simple error in tools/bots/update_blamelists.dart.

Bug: https://github.com/dart-lang/sdk/issues/51978
Change-Id: Iba71e6115427145d20458d9e56f4cfa73fa232c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/302923
Auto-Submit: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2023-05-15 11:02:47 +00:00
Ryan Macnak f97200616a [infra] Remove old configurations for VM in checked mode.
Change-Id: I907345b2bfeedebc87cb79931b5eece38ef0f576
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/290611
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-05-12 02:53:21 +00:00
Ryan Macnak 63b72e5357 [infra] Remove vm-aot-mac-release-simarm64 and vm-aot-mac-product-x64.
Change-Id: I061fa10156ec665b9296211588313f45c850cec1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/300041
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-05-12 02:52:08 +00:00
Ryan Macnak d7d2dc10ef [infra] Add vm-aot-mac-release-x64 and vm-aot-mac-product-arm64.
Change-Id: I9b8b3384cfe783f1943d0598e5f2e76de36253c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/300020
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-05-01 22:33:34 +00:00
Ryan Macnak 5493bc035d [infra] Remove arm32 from gcc builder.
Bug: https://github.com/dart-lang/sdk/issues/52080
Change-Id: I8332638ebb758507403b098f463291fd19f231e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/299240
Reviewed-by: Alexander Thomas <athom@google.com>
2023-04-28 05:33:00 +00:00
Ryan Macnak 4c2ec2ef45 [infra] Remove configurations for legacy QEMU.
Change-Id: Iec8bff7573c2b9d7544511916c8e1c0fc3859398
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296063
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-04-27 09:39:51 +00:00
Ryan Macnak 07326f7762 [infra] Add configurations for NNBD QEMU.
Change-Id: Id3bb6d1b09ccbfe445d2f5132e1f3b07b4edd852
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296060
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-04-27 09:39:51 +00:00
William Hesse 60fec9c720 [infra] Adjust sharding for VM JIT builders
Cutting the shards from 10 to 4 makes the shards time out after 90
minutes on the slowest builders. Even the fastest builders have shard
runtimes of 30 minutes.

Changing the sharding of JIT builder tests from 4 to 8 for both VM tests
and co19 tests.

Fixup after https://dart-review.googlesource.com/c/sdk/+/294140

Change-Id: I813aa40b6aac0fc5083a9606b71d00e78ce71ffc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/297480
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-04-24 10:18:05 +00:00
Ryan Macnak 4d8fa9729e [infra] Remove configurations for legacy obfuscate and stripped modes.
Change-Id: I7192ba0fe31f2059c722559c4acaec4bdf0b01f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296022
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-04-20 19:11:06 +00:00
Jonas Termansen 6585fcf1d2 Delete promote script.
The promote script has been replaced by the promote recipe.

Remove unused code from bot_utils.

Bug: b/277727317
Change-Id: I6a087c11d6e98480d346017c97be82bf23438aed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296260
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2023-04-20 15:41:11 +00:00
Ryan Macnak 1aed900be7 [infra] Migrate Android JIT FFI builders to sound NNBD.
Change-Id: Ifa93f7329bf988a73e406e7978488a0abbc06ae4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296020
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Auto-Submit: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-04-20 15:37:20 +00:00
Alexander Thomas 9814aaf662 [infra] Mark new vm-dwarf/obfuscate configs as sound null safe
Without this, they will run _2 suites by default.

Change-Id: Ica435675c467875a7f3dbab6cf05994835dd0ab5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296583
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2023-04-20 14:19:51 +00:00
Ryan Macnak 8a5c3d9e3d [infra] Add configurations to migrate obfuscate and stripped modes.
Change-Id: I62581c6874b211c57da61639f460685790acb40d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296021
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-04-19 16:26:59 +00:00
Ryan Macnak 30518b205d [infra] Copy llvm to shards, which is the target of the llvm-strip symlink.
Bug: https://github.com/dart-lang/sdk/issues/52010
Change-Id: I44d81ebb2f9e3db5ed86e560f7b043bd26804bf1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/295747
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2023-04-18 18:33:10 +00:00
Daco Harkes f9f1030959 [infra] DEPS and test dart-lang/native packages
This CL pulls in dart-lang/native packages and runs them on the
pkg bots.

Bug: https://github.com/dart-lang/sdk/issues/50565
Change-Id: Ifcd8ba25f8bdfeca8f4c161adfc3c20e0ce500d1
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/295280
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2023-04-18 08:04:49 +00:00
Ryan Macnak badd96032d [infra] Test gcc cross builds instead of simulators.
Skipping arm64 for lack of toolchain on the bots.

Disable tcmalloc on arm, where it fails to compile.

The builds are split into separate steps instead of using a shorter invocation like `--mode=debug,release --arch=ia32,x64,arm,riscv64` to avoid per-step timeouts.

Change-Id: Iccf5e6e8d91584147138ac37487560a7cc608b6f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283121
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-04-13 18:02:37 +00:00
Nicholas Shahan 178063c7f4 [dart2js] Fix fileset used by dill_loader_test
Add `tests/corelib/` to the fileset that contains all the "_2" test
suites so it can be read by
`pkg/compiler/test/end_to_end/dill_loader_test.dart`.

The `dart2js-unit-linux-x64-release` bot configuration uses
the `js_platform_2` fileset because many of the tests under `pkg/compiler/test/` are running or referencing unsound test
files. As the tests migrate to use sound null safety, they will
need to update their hard coded paths to use the sound version
of the test files. More test paths can be added to the fileset as
needed until all the testes are running with sound null safety. Then
the bot configuration can switch to use the `js_platform` fileset
instead.

Change-Id: I0542e035b89bb512c61e1259f86e4378590fb178
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294680
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nate Biggs <natebiggs@google.com>
2023-04-12 23:57:19 +00:00
Ryan Macnak 4bb4b2d68b [infra] Rebalance VM shards.
This should make both JIT and AOT shards take about 15 minutes each in release mode.

Change-Id: Id0668c7f373146dba032cb5c743e0e97dd566297
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294140
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-04-12 17:44:17 +00:00
Ryan Macnak 9fc1f76e02 [infra] Copy llvm-strip to shards.
Change-Id: I1a2a8b68c33dd1e3b0071fd1becdeebab3e8a6df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294441
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-04-10 22:52:21 +00:00
Ryan Macnak 956bb9ac57 [infra] Copy llvm-symbolizer to shards.
Change-Id: I7f8010f1b2dee00af10f64621b7bddce6e2926a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294365
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2023-04-10 19:10:18 +00:00
Ryan Macnak e90e43138e [infra] Fix missing process_test for simarm_x64 builders.
Bug: https://github.com/dart-lang/sdk/issues/51949
Change-Id: I8456166b8fbd61e06e59af8cf055c9cf90e2661d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/293741
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-04-06 15:59:57 +00:00
Ryan Macnak acfe1aa9cf [infra] Add "vm" or "front_end" prefix to shard names.
Makes it easier to see what's producing load by sorting by task name in the task list.

Most are already prefixed with analyzer/dart2js/ddc/vm.

Change-Id: Ia18757ad593b285401a1d315c172d1ad7b6fbf77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/293003
Reviewed-by: Jonas Termansen <sortie@google.com>
2023-04-05 19:44:28 +00:00
Ryan Macnak c8b2d030cf [infra] Remove old names for GCC and MSVC builders.
Change-Id: Ia644a70e0a5a1cf84eafeafb451016d962ff39c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/293081
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-04-05 16:28:24 +00:00
Ryan Macnak 432467ec19 [infra] Add configurations to rename GCC and MSVC builders.
Change-Id: I793e9532cbf9b9af43f91644ba328a6cfc06e1db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/293060
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-04-04 17:17:57 +00:00
Aske Simon Christensen d1d232776a [dart2wasm] Rename the dart:wasm library to dart:_wasm.
This is an internal library not meant to be used in application code.

CoreLibraryReviewExempt: Changes only Wasm specific libraries.
Change-Id: I2f5b463382d35a442e782067ef7d9063183fe5e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292021
Reviewed-by: Ömer Ağacan <omersa@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2023-04-04 11:52:18 +00:00
Ryan Macnak 58a3324adf [infra] Remove old AOT NNBD configurations.
Change-Id: I2d444f5c6735197d9bfcb10863ff5a9f34b580f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286361
Reviewed-by: Alexander Thomas <athom@google.com>
2023-04-02 08:34:23 +00:00
Ryan Macnak fdabbc9d10 [infra] Add configurations to rename AOT NNBD.
Change-Id: I56044e0fcfdb4623595971354a01164d8ae708e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286360
Reviewed-by: Alexander Thomas <athom@google.com>
2023-04-02 08:34:23 +00:00