Build Android (FCM) / build-android-fcm (push) Canceled after 0s
Build Android / build-android (push) Canceled after 0s
Build iOS / build-ios (push) Canceled after 0s
Build Linux / build-linux (push) Canceled after 0s
Build macOS / build-macos (push) Canceled after 0s
Build Windows / build-windows (push) Canceled after 0s
Release (main) / android (oneme) (push) Canceled after 0s
Release (main) / android (qlyra) (push) Canceled after 0s
Release (main) / windows (push) Canceled after 0s
Release (main) / linux (push) Canceled after 0s
Release (main) / macos (push) Canceled after 0s
Release (main) / ios (push) Canceled after 0s
Release (main) / release (push) Canceled after 0s
50 lines
1.5 KiB
Dart
50 lines
1.5 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
const qualityWorkflows = [
|
|
'.github/workflows/flutter-dev.yml',
|
|
'.github/workflows/flutter-main.yml',
|
|
'.github/workflows/build-android.yml',
|
|
'.github/workflows/build-android-fcm.yml',
|
|
];
|
|
|
|
test('build workflows run formatting, analysis and tests', () {
|
|
for (final path in qualityWorkflows) {
|
|
final workflow = File(path).readAsStringSync();
|
|
expect(
|
|
workflow,
|
|
contains('dart format --output=none --set-exit-if-changed lib test'),
|
|
);
|
|
expect(workflow, contains('flutter analyze --no-fatal-infos lib test'));
|
|
expect(workflow, contains('flutter test'));
|
|
}
|
|
});
|
|
|
|
test('pull request CI produces coverage', () {
|
|
for (final path in [
|
|
'.github/workflows/flutter-dev.yml',
|
|
'.github/workflows/flutter-main.yml',
|
|
]) {
|
|
final workflow = File(path).readAsStringSync();
|
|
expect(workflow, contains('flutter test --coverage'));
|
|
expect(workflow, contains('coverage/lcov.info'));
|
|
}
|
|
});
|
|
|
|
test('dependency and Android smoke workflows stay enabled', () {
|
|
final security = File(
|
|
'.github/workflows/osv-scanner.yml',
|
|
).readAsStringSync();
|
|
final smoke = File(
|
|
'.github/workflows/android-smoke.yml',
|
|
).readAsStringSync();
|
|
|
|
expect(security, contains('osv-scanner-reusable.yml@v2.5.0'));
|
|
expect(security, contains('--lockfile=./pubspec.lock'));
|
|
expect(smoke, contains('android-emulator-runner@v2'));
|
|
expect(smoke, contains('adb shell pidof ru.qlyra.app'));
|
|
});
|
|
}
|