feat(dart): Add build check for Dart (#886)
* feat(dart): Add build check for Dart * feat(dart): Add dart analyze to check * fix(dart): remove dart analyze * feat(dart): Ignore unused variable and add dart analyzepull/889/head
parent
d26e811e10
commit
a8b2350705
@ -0,0 +1,36 @@
|
||||
# This workflow will install Dart SDK, run format and build with Dart
|
||||
|
||||
name: Dart
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["main"]
|
||||
paths: ["codes/dart/**/*.dart"]
|
||||
pull_request:
|
||||
branches: ["main"]
|
||||
paths: ["codes/dart/**/*.dart"]
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Dart ${{ matrix.dart-sdk }} on ${{ matrix.os }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||
dart-sdk: [stable, beta, dev]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Dart ${{ matrix.dart-sdk }}
|
||||
uses: dart-lang/setup-dart@v1
|
||||
with:
|
||||
sdk: ${{ matrix.dart-sdk}}
|
||||
- name: Run format
|
||||
run: dart format codes/dart
|
||||
- name: Run analyze
|
||||
run: dart analyze codes/dart
|
||||
- name: Run build
|
||||
run: dart codes/dart/build.dart
|
@ -0,0 +1,39 @@
|
||||
import 'dart:io';
|
||||
|
||||
void main() {
|
||||
Directory foldPath = Directory('codes/dart/');
|
||||
List<FileSystemEntity> files = foldPath.listSync();
|
||||
int totalCount = 0;
|
||||
int errorCount = 0;
|
||||
for (var file in files) {
|
||||
if (file.path.endsWith('build.dart')) continue;
|
||||
if (file is File && file.path.endsWith('.dart')) {
|
||||
totalCount++;
|
||||
try {
|
||||
Process.runSync('dart', [file.path]);
|
||||
} catch (e) {
|
||||
errorCount++;
|
||||
print('Error: $e');
|
||||
print('File: ${file.path}');
|
||||
}
|
||||
} else if (file is Directory) {
|
||||
List<FileSystemEntity> subFiles = file.listSync();
|
||||
for (var subFile in subFiles) {
|
||||
if (subFile is File && subFile.path.endsWith('.dart')) {
|
||||
totalCount++;
|
||||
try {
|
||||
Process.runSync('dart', [subFile.path]);
|
||||
} catch (e) {
|
||||
errorCount++;
|
||||
print('Error: $e');
|
||||
print('File: ${file.path}');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print('===== Build Complete =====');
|
||||
print('Total: $totalCount');
|
||||
print('Error: $errorCount');
|
||||
}
|
Loading…
Reference in new issue