diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b72b5bce6..2660c3c66 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,7 +35,7 @@ jobs: - uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046 with: channel: beta - - run: ./tool/ci_script.exe + - run: dart ./tool/ci_script.dart # android-build: # runs-on: ubuntu-latest diff --git a/tool/ci_script.dart b/tool/ci_script.dart deleted file mode 100644 index 008198abd..000000000 --- a/tool/ci_script.dart +++ /dev/null @@ -1,51 +0,0 @@ -import 'dart:io'; -import 'package:path/path.dart' as path; -import 'package:yaml/yaml.dart'; - -Future main() async { - final rootDir = Directory.current; - final pubspecFile = File(path.join(rootDir.path, 'pubspec.yaml')); - final pubspecContent = await pubspecFile.readAsString(); - final pubspecYaml = loadYaml(pubspecContent); - - final workspace = pubspecYaml['workspace'] as YamlList?; - if (workspace == null) { - print('No workspace found in pubspec.yaml'); - exit(1); - } - - final packages = workspace.map((e) => e.toString()).toList(); - - for (final package in packages) { - final packagePath = path.join(rootDir.path, package); - print('== Testing \'$package\' =='); - - await _runCommand('flutter', ['pub', 'get'], workingDirectory: packagePath); - await _runCommand('dart', ['analyze', '--fatal-infos', '--fatal-warnings'], - workingDirectory: packagePath); - await _runCommand('dart', ['format', '--output', 'none', '.'], - workingDirectory: packagePath); - - if (await Directory(path.join(packagePath, 'test')).exists()) { - final packagePubspecFile = - File(path.join(packagePath, 'pubspec.yaml')); - final packagePubspecContent = await packagePubspecFile.readAsString(); - if (packagePubspecContent.contains('flutter:')) { - await _runCommand('flutter', ['test'], workingDirectory: packagePath); - } else { - await _runCommand('dart', ['test'], workingDirectory: packagePath); - } - } - } -} - -Future _runCommand(String executable, List arguments, - {required String workingDirectory}) async { - final process = await Process.start(executable, arguments, - workingDirectory: workingDirectory, mode: ProcessStartMode.inheritStdio); - final exitCode = await process.exitCode; - if (exitCode != 0) { - print('Command "$executable ${arguments.join(' ')}" failed with exit code $exitCode in $workingDirectory'); - exit(exitCode); - } -} \ No newline at end of file