From 456176160bb64ffb83c66e642bece1b2f326fdee Mon Sep 17 00:00:00 2001 From: sensuikan1973 Date: Mon, 4 Mar 2024 10:52:51 +0900 Subject: [PATCH 1/6] follow the updated restriction which isolate can send. --- lib/engine/api/count_bestpath.dart | 10 +++--- lib/engine/api/hint_one_by_one.dart | 16 ++++----- lib/engine/api/setboard.dart | 6 ++-- lib/engine/edax_server.dart | 52 +++++++++++++++-------------- lib/models/board_notifier.dart | 8 ++--- 5 files changed, 47 insertions(+), 45 deletions(-) diff --git a/lib/engine/api/count_bestpath.dart b/lib/engine/api/count_bestpath.dart index 1123aa285..c1ae9417a 100644 --- a/lib/engine/api/count_bestpath.dart +++ b/lib/engine/api/count_bestpath.dart @@ -11,13 +11,13 @@ class CountBestpathRequest implements RequestSchema { required this.movesAtRequest, required this.playerLowerLimit, required this.opponentLowerLimit, - required this.logger, + // required this.logger, }); final String movesAtRequest; final int playerLowerLimit; final int opponentLowerLimit; - final Logger logger; + // final Logger logger; } @immutable @@ -46,9 +46,9 @@ Stream executeCountBestpath( for (final move in rootBookMoveListWithPosition.moveList) { final currentMoves = edax.edaxGetMoves(); if (currentMoves != request.movesAtRequest) { - request.logger.d( - 'count bestpath process is aborted.\ncurrentMoves "$currentMoves" is not equal to movesAtRequest "${request.movesAtRequest}"', - ); + // request.logger.d( + // 'count bestpath process is aborted.\ncurrentMoves "$currentMoves" is not equal to movesAtRequest "${request.movesAtRequest}"', + // ); edax.edaxBookStopCountBestpath(); return; } diff --git a/lib/engine/api/hint_one_by_one.dart b/lib/engine/api/hint_one_by_one.dart index 4bd30e4d9..a3251cbd1 100644 --- a/lib/engine/api/hint_one_by_one.dart +++ b/lib/engine/api/hint_one_by_one.dart @@ -12,13 +12,13 @@ class HintOneByOneRequest implements RequestSchema { required this.level, required this.stepByStep, required this.movesAtRequest, - required this.logger, + // required this.logger, }); final int level; final bool stepByStep; final String movesAtRequest; - final Logger logger; + // final Logger logger; } @immutable @@ -49,21 +49,21 @@ Stream executeHintOneByOne( const levelOption = LevelOption(); for (final level in levelList) { edax.edaxStop(); - request.logger.d('stopped edax search'); + // request.logger.d('stopped edax search'); edax ..edaxSetOption(levelOption.nativeName, level.toString()) ..edaxHintPrepare(); - request.logger.d('prepared getting hint one by one.\nlevel: $level.\nmoves at request: ${request.movesAtRequest}'); + // request.logger.d('prepared getting hint one by one.\nlevel: $level.\nmoves at request: ${request.movesAtRequest}'); while (true) { final currentMoves = edax.edaxGetMoves(); if (currentMoves != request.movesAtRequest) { - request.logger.d( - 'hint process is aborted.\ncurrentMoves "$currentMoves" is not equal to movesAtRequest "${request.movesAtRequest}"', - ); + // request.logger.d( + // 'hint process is aborted.\ncurrentMoves "$currentMoves" is not equal to movesAtRequest "${request.movesAtRequest}"', + // ); return; } - request.logger.d('will call edaxHintNextNoMultiPvDepth'); + // request.logger.d('will call edaxHintNextNoMultiPvDepth'); final hint = edax.edaxHintNextNoMultiPvDepth(); if (hint.isNoMove) break; yield HintOneByOneResponse(request: request, hint: hint, level: level, isLastStep: level == levelList.last); diff --git a/lib/engine/api/setboard.dart b/lib/engine/api/setboard.dart index 6765cc8dd..2715ba22a 100644 --- a/lib/engine/api/setboard.dart +++ b/lib/engine/api/setboard.dart @@ -18,12 +18,12 @@ class SetboardRequest implements RequestSchema { const SetboardRequest({ required this.currentColor, required this.replacementTargets, - required this.logger, + // required this.logger, }); final int currentColor; final List replacementTargets; - final Logger logger; + // final Logger logger; } @immutable @@ -55,7 +55,7 @@ SetboardResponse executeSetboard(final LibEdax edax, final SetboardRequest reque final currentColorChar = request.currentColor == TurnColor.black ? ColorChar.black : ColorChar.white; boardStr = boardStr.replaceFirst(RegExp('.'), currentColorChar, 64); - request.logger.d('setboard $boardStr'); + // request.logger.d('setboard $boardStr'); edax.edaxSetboard(boardStr); return SetboardResponse( diff --git a/lib/engine/edax_server.dart b/lib/engine/edax_server.dart index 4e892fb88..52c90df24 100644 --- a/lib/engine/edax_server.dart +++ b/lib/engine/edax_server.dart @@ -4,6 +4,7 @@ import 'dart:ui'; import 'package:flutter/foundation.dart'; import 'package:libedax4dart/libedax4dart.dart'; import 'package:logger/logger.dart'; +// import 'package:logger/logger.dart'; import 'package:meta/meta.dart'; import 'api/book_get_move_with_position.dart'; @@ -25,29 +26,30 @@ import 'api/undo.dart'; // NOTE: top level function for `isolate.spawn`. @doNotStore Future startEdaxServer(final StartEdaxServerParams params) async { - final server = EdaxServer(dllPath: params.dllPath, logger: params.logger); + final server = EdaxServer(dllPath: params.dllPath); await server.start(params.parentSendPort, params.initLibedaxParameters); } @immutable class StartEdaxServerParams { - const StartEdaxServerParams(this.parentSendPort, this.dllPath, this.initLibedaxParameters, this.logger); + const StartEdaxServerParams(this.parentSendPort, this.dllPath, this.initLibedaxParameters, this.logLevel); final SendPort parentSendPort; final String dllPath; final List initLibedaxParameters; - final Logger logger; + final Level logLevel; + // final Logger logger; } @doNotStore class EdaxServer { EdaxServer({ required final String dllPath, - required final Logger logger, - }) : _dllPath = dllPath, - _logger = logger; + // required final Logger logger, + }) : _dllPath = dllPath; + // _logger = logger; final String _dllPath; - final Logger _logger; + // final Logger _logger; final _receivePort = ReceivePort(); SendPort get sendPort => _receivePort.sendPort; @@ -64,12 +66,12 @@ class EdaxServer { IsolateNameServer.registerPortWithName(sendPort, serverName); parentSendPort.send(_receivePort.sendPort); // NOTE: notify my port to parent - _logger.d('sent my port to parentSendPort'); + // _logger.d('sent my port to parentSendPort'); final edax = LibEdax(_dllPath) ..libedaxInitialize(initLibedaxParameters) ..edaxInit(); - _logger.i('libedax has initialized with $initLibedaxParameters'); + // _logger.i('libedax has initialized with $initLibedaxParameters'); _registerApiHandler(parentSendPort, edax); } @@ -77,7 +79,7 @@ class EdaxServer { void _registerApiHandler(final SendPort parentSendPort, final LibEdax edax) => // ignore: avoid_annotating_with_dynamic _receivePort.listen((final dynamic message) async { - _logger.d('received request "${message.runtimeType}"'); + // _logger.d('received request "${message.runtimeType}"'); if (message is MoveRequest) { parentSendPort.send(executeMove(edax, message)); } else if (message is PlayRequest) { @@ -90,12 +92,12 @@ class EdaxServer { continue; } if (_latestHintntOneByOneRequest.movesAtRequest != message.movesAtRequest) { - _logger.d( - ''' - The HintOneByOneRequest (moves: ${message.movesAtRequest}) has dropped. - It is because a new HintOneByOneRequest (moves: ${_latestHintntOneByOneRequest.movesAtRequest}) has been received after that. - ''', - ); + // _logger.d( + // ''' + // The HintOneByOneRequest (moves: ${message.movesAtRequest}) has dropped. + // It is because a new HintOneByOneRequest (moves: ${_latestHintntOneByOneRequest.movesAtRequest}) has been received after that. + // ''', + // ); break; } _computingHintOneByOne = true; @@ -126,12 +128,12 @@ class EdaxServer { continue; } if (_latestCountBestpathRequest.movesAtRequest != message.movesAtRequest) { - _logger.d( - ''' - The CountBestpathRequest (moves: ${message.movesAtRequest}) has dropped. - It is because a new CountBestpathRequest (moves: ${_latestCountBestpathRequest.movesAtRequest}) has been received after that. - ''', - ); + // _logger.d( + // ''' + // The CountBestpathRequest (moves: ${message.movesAtRequest}) has dropped. + // It is because a new CountBestpathRequest (moves: ${_latestCountBestpathRequest.movesAtRequest}) has been received after that. + // ''', + // ); break; } _computingCountBestpath = true; @@ -149,7 +151,7 @@ class EdaxServer { } else if (message is BookLoadRequest) { if (_computingBookLoading) return; _computingBookLoading = true; - _logger.i('will load book file. path: ${message.file}'); + // _logger.i('will load book file. path: ${message.file}'); await compute(_computeBookLoad, _ComputeBookLoadParams(_dllPath, message, parentSendPort)); _computingBookLoading = false; } else if (message is SetOptionRequest) { @@ -161,9 +163,9 @@ class EdaxServer { } else if (message is ShutdownRequest) { parentSendPort.send(executeShutdown(edax, message)); _receivePort.close(); - _logger.i('shutdowned'); + // _logger.i('shutdowned'); } else { - _logger.w('request ${message.runtimeType} is not supported'); + // _logger.w('request ${message.runtimeType} is not supported'); } }); } diff --git a/lib/models/board_notifier.dart b/lib/models/board_notifier.dart index 48b62b245..cc66f1ee2 100644 --- a/lib/models/board_notifier.dart +++ b/lib/models/board_notifier.dart @@ -53,7 +53,7 @@ class BoardNotifier extends ValueNotifier { }) async { await Isolate.spawn( startEdaxServer, - StartEdaxServerParams(_receivePort.sendPort, libedaxPath, initLibedaxParams, _logger), + StartEdaxServerParams(_receivePort.sendPort, libedaxPath, initLibedaxParams, Logger.level), ); _receiveStream = _receivePort.asBroadcastStream(); _edaxServerPort = await _receiveStream.first as SendPort; @@ -95,7 +95,7 @@ class BoardNotifier extends ValueNotifier { SetboardRequest( currentColor: value.arrangeTargetColor, replacementTargets: arrangeTargetChar, - logger: _logger, + // logger: _logger, ), ); } @@ -149,7 +149,7 @@ class BoardNotifier extends ValueNotifier { level: value.level, stepByStep: value.hintStepByStep, movesAtRequest: movesAtRequest, - logger: _logger, + // logger: _logger, ), ); } @@ -169,7 +169,7 @@ class BoardNotifier extends ValueNotifier { movesAtRequest: movesAtRequest, playerLowerLimit: await _bestpathCountPlayerLowerLimitOption.val, opponentLowerLimit: await _bestpathCountOpponentLowerLimitOption.val, - logger: _logger, + // logger: _logger, ), ); } From 2765e9832e4744b1d7505ee3f037aff8b8f10e23 Mon Sep 17 00:00:00 2001 From: sensuikan1973 Date: Mon, 4 Mar 2024 11:22:05 +0900 Subject: [PATCH 2/6] fix --- lib/engine/api/count_bestpath.dart | 11 +++---- lib/engine/api/hint_one_by_one.dart | 17 ++++++----- lib/engine/api/setboard.dart | 7 +++-- lib/engine/edax_server.dart | 46 ++++++++++++++--------------- lib/models/board_notifier.dart | 6 ++-- 5 files changed, 44 insertions(+), 43 deletions(-) diff --git a/lib/engine/api/count_bestpath.dart b/lib/engine/api/count_bestpath.dart index c1ae9417a..09a22183e 100644 --- a/lib/engine/api/count_bestpath.dart +++ b/lib/engine/api/count_bestpath.dart @@ -11,13 +11,13 @@ class CountBestpathRequest implements RequestSchema { required this.movesAtRequest, required this.playerLowerLimit, required this.opponentLowerLimit, - // required this.logger, + required this.logLevel, }); final String movesAtRequest; final int playerLowerLimit; final int opponentLowerLimit; - // final Logger logger; + final Level logLevel; } @immutable @@ -43,12 +43,13 @@ Stream executeCountBestpath( final CountBestpathRequest request, ) async* { final rootBookMoveListWithPosition = edax.edaxGetBookMoveWithPositionByMoves(request.movesAtRequest); + final logger = Logger(level: request.logLevel); for (final move in rootBookMoveListWithPosition.moveList) { final currentMoves = edax.edaxGetMoves(); if (currentMoves != request.movesAtRequest) { - // request.logger.d( - // 'count bestpath process is aborted.\ncurrentMoves "$currentMoves" is not equal to movesAtRequest "${request.movesAtRequest}"', - // ); + logger.d( + 'count bestpath process is aborted.\ncurrentMoves "$currentMoves" is not equal to movesAtRequest "${request.movesAtRequest}"', + ); edax.edaxBookStopCountBestpath(); return; } diff --git a/lib/engine/api/hint_one_by_one.dart b/lib/engine/api/hint_one_by_one.dart index a3251cbd1..02b61e70d 100644 --- a/lib/engine/api/hint_one_by_one.dart +++ b/lib/engine/api/hint_one_by_one.dart @@ -12,13 +12,13 @@ class HintOneByOneRequest implements RequestSchema { required this.level, required this.stepByStep, required this.movesAtRequest, - // required this.logger, + required this.logLevel, }); final int level; final bool stepByStep; final String movesAtRequest; - // final Logger logger; + final Level logLevel; } @immutable @@ -47,23 +47,24 @@ Stream executeHintOneByOne( ) async* { final levelList = request.stepByStep ? generateLevelList3Steps(request.level) : [request.level]; const levelOption = LevelOption(); + final logger = Logger(level: request.logLevel); for (final level in levelList) { edax.edaxStop(); - // request.logger.d('stopped edax search'); + logger.d('stopped edax search'); edax ..edaxSetOption(levelOption.nativeName, level.toString()) ..edaxHintPrepare(); - // request.logger.d('prepared getting hint one by one.\nlevel: $level.\nmoves at request: ${request.movesAtRequest}'); + logger.d('prepared getting hint one by one.\nlevel: $level.\nmoves at request: ${request.movesAtRequest}'); while (true) { final currentMoves = edax.edaxGetMoves(); if (currentMoves != request.movesAtRequest) { - // request.logger.d( - // 'hint process is aborted.\ncurrentMoves "$currentMoves" is not equal to movesAtRequest "${request.movesAtRequest}"', - // ); + logger.d( + 'hint process is aborted.\ncurrentMoves "$currentMoves" is not equal to movesAtRequest "${request.movesAtRequest}"', + ); return; } - // request.logger.d('will call edaxHintNextNoMultiPvDepth'); + logger.d('will call edaxHintNextNoMultiPvDepth'); final hint = edax.edaxHintNextNoMultiPvDepth(); if (hint.isNoMove) break; yield HintOneByOneResponse(request: request, hint: hint, level: level, isLastStep: level == levelList.last); diff --git a/lib/engine/api/setboard.dart b/lib/engine/api/setboard.dart index 2715ba22a..1f7efa325 100644 --- a/lib/engine/api/setboard.dart +++ b/lib/engine/api/setboard.dart @@ -18,12 +18,12 @@ class SetboardRequest implements RequestSchema { const SetboardRequest({ required this.currentColor, required this.replacementTargets, - // required this.logger, + required this.logLevel, }); final int currentColor; final List replacementTargets; - // final Logger logger; + final Level logLevel; } @immutable @@ -55,7 +55,8 @@ SetboardResponse executeSetboard(final LibEdax edax, final SetboardRequest reque final currentColorChar = request.currentColor == TurnColor.black ? ColorChar.black : ColorChar.white; boardStr = boardStr.replaceFirst(RegExp('.'), currentColorChar, 64); - // request.logger.d('setboard $boardStr'); + final logger = Logger(level: request.logLevel); + logger.d('setboard $boardStr'); edax.edaxSetboard(boardStr); return SetboardResponse( diff --git a/lib/engine/edax_server.dart b/lib/engine/edax_server.dart index 52c90df24..6071fa7a3 100644 --- a/lib/engine/edax_server.dart +++ b/lib/engine/edax_server.dart @@ -4,7 +4,6 @@ import 'dart:ui'; import 'package:flutter/foundation.dart'; import 'package:libedax4dart/libedax4dart.dart'; import 'package:logger/logger.dart'; -// import 'package:logger/logger.dart'; import 'package:meta/meta.dart'; import 'api/book_get_move_with_position.dart'; @@ -26,7 +25,7 @@ import 'api/undo.dart'; // NOTE: top level function for `isolate.spawn`. @doNotStore Future startEdaxServer(final StartEdaxServerParams params) async { - final server = EdaxServer(dllPath: params.dllPath); + final server = EdaxServer(dllPath: params.dllPath, logLevel: params.logLevel); await server.start(params.parentSendPort, params.initLibedaxParameters); } @@ -37,19 +36,18 @@ class StartEdaxServerParams { final String dllPath; final List initLibedaxParameters; final Level logLevel; - // final Logger logger; } @doNotStore class EdaxServer { EdaxServer({ required final String dllPath, - // required final Logger logger, - }) : _dllPath = dllPath; - // _logger = logger; + required final Level logLevel, + }) : _dllPath = dllPath, + _logger = Logger(level: logLevel); final String _dllPath; - // final Logger _logger; + final Logger _logger; final _receivePort = ReceivePort(); SendPort get sendPort => _receivePort.sendPort; @@ -66,12 +64,12 @@ class EdaxServer { IsolateNameServer.registerPortWithName(sendPort, serverName); parentSendPort.send(_receivePort.sendPort); // NOTE: notify my port to parent - // _logger.d('sent my port to parentSendPort'); + _logger.d('sent my port to parentSendPort'); final edax = LibEdax(_dllPath) ..libedaxInitialize(initLibedaxParameters) ..edaxInit(); - // _logger.i('libedax has initialized with $initLibedaxParameters'); + _logger.i('libedax has initialized with $initLibedaxParameters'); _registerApiHandler(parentSendPort, edax); } @@ -79,7 +77,7 @@ class EdaxServer { void _registerApiHandler(final SendPort parentSendPort, final LibEdax edax) => // ignore: avoid_annotating_with_dynamic _receivePort.listen((final dynamic message) async { - // _logger.d('received request "${message.runtimeType}"'); + _logger.d('received request "${message.runtimeType}"'); if (message is MoveRequest) { parentSendPort.send(executeMove(edax, message)); } else if (message is PlayRequest) { @@ -92,12 +90,12 @@ class EdaxServer { continue; } if (_latestHintntOneByOneRequest.movesAtRequest != message.movesAtRequest) { - // _logger.d( - // ''' - // The HintOneByOneRequest (moves: ${message.movesAtRequest}) has dropped. - // It is because a new HintOneByOneRequest (moves: ${_latestHintntOneByOneRequest.movesAtRequest}) has been received after that. - // ''', - // ); + _logger.d( + ''' + The HintOneByOneRequest (moves: ${message.movesAtRequest}) has dropped. + It is because a new HintOneByOneRequest (moves: ${_latestHintntOneByOneRequest.movesAtRequest}) has been received after that. + ''', + ); break; } _computingHintOneByOne = true; @@ -128,12 +126,12 @@ class EdaxServer { continue; } if (_latestCountBestpathRequest.movesAtRequest != message.movesAtRequest) { - // _logger.d( - // ''' - // The CountBestpathRequest (moves: ${message.movesAtRequest}) has dropped. - // It is because a new CountBestpathRequest (moves: ${_latestCountBestpathRequest.movesAtRequest}) has been received after that. - // ''', - // ); + _logger.d( + ''' + The CountBestpathRequest (moves: ${message.movesAtRequest}) has dropped. + It is because a new CountBestpathRequest (moves: ${_latestCountBestpathRequest.movesAtRequest}) has been received after that. + ''', + ); break; } _computingCountBestpath = true; @@ -151,7 +149,7 @@ class EdaxServer { } else if (message is BookLoadRequest) { if (_computingBookLoading) return; _computingBookLoading = true; - // _logger.i('will load book file. path: ${message.file}'); + _logger.i('will load book file. path: ${message.file}'); await compute(_computeBookLoad, _ComputeBookLoadParams(_dllPath, message, parentSendPort)); _computingBookLoading = false; } else if (message is SetOptionRequest) { @@ -163,7 +161,7 @@ class EdaxServer { } else if (message is ShutdownRequest) { parentSendPort.send(executeShutdown(edax, message)); _receivePort.close(); - // _logger.i('shutdowned'); + _logger.i('shutdowned'); } else { // _logger.w('request ${message.runtimeType} is not supported'); } diff --git a/lib/models/board_notifier.dart b/lib/models/board_notifier.dart index cc66f1ee2..622c71be9 100644 --- a/lib/models/board_notifier.dart +++ b/lib/models/board_notifier.dart @@ -95,7 +95,7 @@ class BoardNotifier extends ValueNotifier { SetboardRequest( currentColor: value.arrangeTargetColor, replacementTargets: arrangeTargetChar, - // logger: _logger, + logLevel: Logger.level, ), ); } @@ -149,7 +149,7 @@ class BoardNotifier extends ValueNotifier { level: value.level, stepByStep: value.hintStepByStep, movesAtRequest: movesAtRequest, - // logger: _logger, + logLevel: Logger.level, ), ); } @@ -169,7 +169,7 @@ class BoardNotifier extends ValueNotifier { movesAtRequest: movesAtRequest, playerLowerLimit: await _bestpathCountPlayerLowerLimitOption.val, opponentLowerLimit: await _bestpathCountOpponentLowerLimitOption.val, - // logger: _logger, + logLevel: Logger.level, ), ); } From 138640d7e18bfa16674f28fd0f2477d4cd5be828 Mon Sep 17 00:00:00 2001 From: sensuikan1973 Date: Mon, 4 Mar 2024 12:54:51 +0900 Subject: [PATCH 3/6] fix --- lib/engine/edax_server.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/engine/edax_server.dart b/lib/engine/edax_server.dart index 6071fa7a3..a48be1230 100644 --- a/lib/engine/edax_server.dart +++ b/lib/engine/edax_server.dart @@ -163,7 +163,7 @@ class EdaxServer { _receivePort.close(); _logger.i('shutdowned'); } else { - // _logger.w('request ${message.runtimeType} is not supported'); + _logger.w('request ${message.runtimeType} is not supported'); } }); } From 5dd325c27666778db26fc01a33dcaf36ae26d584 Mon Sep 17 00:00:00 2001 From: sensuikan1973 Date: Mon, 4 Mar 2024 13:16:28 +0900 Subject: [PATCH 4/6] workaround ? --- .github/workflows/flutter_ci.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/flutter_ci.yaml b/.github/workflows/flutter_ci.yaml index 4ce3e73dc..13b7daaba 100644 --- a/.github/workflows/flutter_ci.yaml +++ b/.github/workflows/flutter_ci.yaml @@ -56,16 +56,20 @@ jobs: - os: windows runner_machine: windows-latest setup_for_flutter_desktop_script: .github/scripts/windows/install_additional_requirements_for_flutter.sh + # workaround for https://github.com/sensuikan1973/pedax/pull/1746#issuecomment-1975666851 + widget_test_command: flutter test --verbose --concurrency 1 integration_test_command: flutter test integration_test --device-id windows --verbose --coverage --coverage-path=./coverage/lcov.integration_test.info - os: macos # Why isn't this macos-latest ? -> workaround for https://github.com/sensuikan1973/pedax/pull/1443 # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners runner_machine: macos-13 setup_for_flutter_desktop_script: .github/scripts/macos/install_additional_requirements_for_flutter.sh + widget_test_command: flutter test --verbose --coverage --coverage-path=./coverage/lcov.widget_test.info --concurrency 1 integration_test_command: flutter test integration_test --device-id macos --verbose --coverage --coverage-path=./coverage/lcov.integration_test.info - os: ubuntu runner_machine: ubuntu-latest setup_for_flutter_desktop_script: .github/scripts/linux/install_additional_requirements_for_flutter.sh + widget_test_command: flutter test --verbose --coverage --coverage-path=./coverage/lcov.widget_test.info --concurrency 1 integration_test_command: | touch ./coverage/lcov.integration_test.info timeout 240 xvfb-run -a \ @@ -89,7 +93,7 @@ jobs: # https://docs.flutter.dev/testing#widget-tests - name: widget test - run: flutter test --verbose --coverage --coverage-path=./coverage/lcov.widget_test.info --concurrency 1 + run: ${{ matrix.integration_test_command }} # https://docs.codecov.com/docs/merging-reports#multiple-languages - uses: codecov/codecov-action@v3 with: # ref: https://github.com/codecov/codecov-action/blob/v3.1.0/.github/workflows/main.yml From e44c999cefcb9707aa4cc8ebf5bad8d873e3cd63 Mon Sep 17 00:00:00 2001 From: sensuikan1973 Date: Mon, 4 Mar 2024 13:19:09 +0900 Subject: [PATCH 5/6] fix --- .github/workflows/flutter_ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flutter_ci.yaml b/.github/workflows/flutter_ci.yaml index 13b7daaba..73963d946 100644 --- a/.github/workflows/flutter_ci.yaml +++ b/.github/workflows/flutter_ci.yaml @@ -93,7 +93,7 @@ jobs: # https://docs.flutter.dev/testing#widget-tests - name: widget test - run: ${{ matrix.integration_test_command }} + run: ${{ matrix.widget_test_command }} # https://docs.codecov.com/docs/merging-reports#multiple-languages - uses: codecov/codecov-action@v3 with: # ref: https://github.com/codecov/codecov-action/blob/v3.1.0/.github/workflows/main.yml From 7576f066f780a3fd2343d31901a7279630d61f71 Mon Sep 17 00:00:00 2001 From: sensuikan1973 Date: Mon, 4 Mar 2024 13:25:09 +0900 Subject: [PATCH 6/6] fix --- .github/workflows/flutter_ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flutter_ci.yaml b/.github/workflows/flutter_ci.yaml index 73963d946..5ae6fca84 100644 --- a/.github/workflows/flutter_ci.yaml +++ b/.github/workflows/flutter_ci.yaml @@ -57,7 +57,7 @@ jobs: runner_machine: windows-latest setup_for_flutter_desktop_script: .github/scripts/windows/install_additional_requirements_for_flutter.sh # workaround for https://github.com/sensuikan1973/pedax/pull/1746#issuecomment-1975666851 - widget_test_command: flutter test --verbose --concurrency 1 + widget_test_command: flutter test --verbose --coverage --coverage-path=./coverage/lcov.widget_test.info --concurrency 1 integration_test_command: flutter test integration_test --device-id windows --verbose --coverage --coverage-path=./coverage/lcov.integration_test.info - os: macos # Why isn't this macos-latest ? -> workaround for https://github.com/sensuikan1973/pedax/pull/1443