-
Notifications
You must be signed in to change notification settings - Fork 6k
Run integration tests on ci #17598
Run integration tests on ci #17598
Conversation
78ead30 to
4e156be
Compare
6d6320b to
c3ff9e2
Compare
yjbanov
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly nits. My only major concern is that we can end up with two versions of the engine and two versions of the framework as part of any given build. Which exact version is used depends on the environment we are running in. I'm worried that this will lead to unpredictable and non-reproducible build breakages.
…cript for local usage
…po. always clone the repo even for local development, unless this flag is set
| /// commit. | ||
| /// | ||
| /// Use engine/src/flutter/.dart_tools to clone the Flutter repo. | ||
| /// TODO(nurhan): Use git pull instead if repo exists. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
* changing felt script to fetch flutter * changing the clone_flutter.sh code * running integration tests with felt on cirrus. fetch framework in CI (not in local). * only run cirrus tests on chrome. fix a comma in the flutter command path * adding comments to public flags * use local engine parameter for flutter pub get * change flutter executable used for flutter drive command * fix a cleanup issue. address comments. add toolException. enable web in flutter * address reviwer comments. fix issue with local-engine * address reviwer comments. fix issue with local-engine * using engine/flutter/.dart_tools as clone directory. enabling clone script for local usage * clean flutter repo with felt clean. add a flag to skip cloning the repo. always clone the repo even for local development, unless this flag is set * fixing typos. updating readme for the new flag. * fix directory error * addressing reviewer comments
| io.Directory get engineDartToolDir => io.Directory(pathlib.join( | ||
| engineSrcDir.path, | ||
| 'flutter', | ||
| '.dart_tool', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems useful for android and iOS e2e too. We currently have duplicated scripts to build AOT/JIT apps, but it would be a win if we can just reuse the tool logic.
| /// Path to the ".dart_tool" directory living under `engine/src/flutter`. | ||
| /// | ||
| /// This is a designated area for tool downloads which can be used by | ||
| /// multiple platforms. For exampe: Flutter repo for e2e tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: example
| import 'package:web_driver_installer/chrome_driver_installer.dart'; | ||
|
|
||
| import 'chrome_installer.dart'; | ||
| import 'common.dart'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes
| import 'chrome_installer.dart'; | ||
| import 'common.dart'; | ||
| import 'environment.dart'; | ||
| import 'exceptions.dart'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- [ ]
| import 'exceptions.dart'; | |
| import 'exceptions.dart';```suggestion | |
| import 'exceptions.dart'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes
| /// tests shutdown. | ||
| final io.Directory _drivers; | ||
|
|
||
| IntegrationTestsManager(this._browser) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| // TODO(nurhan): https://github.com/flutter/flutter/issues/52987 | ||
| return await _runTests(); | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I
| await cleanup(); | ||
| exitCode = 1; | ||
| } | ||
| } on UsageException catch (e) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
__
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😊
Changes to run integration tests ion Cirrus using felt tool.
use-system-flutterif the local developer wants to use the system version.Fixes some tasks in the issue: flutter/flutter#52983