Files
Qlyra/test/ci_quality_gates_test.dart
T
sevenhill 50816588e4
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
Update Qlyra application
2026-08-30 22:53:15 +03:00

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'));
});
}