From 9534f51d9ef98b1564a0ef33921dc0f646eafac6 Mon Sep 17 00:00:00 2001 From: Sergey Koltsov Date: Thu, 11 Dec 2025 12:55:05 +0300 Subject: [PATCH 1/9] Add checks for 3.35.7 and 3.38.4 --- .github/workflows/yx_scope_pr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/yx_scope_pr.yaml b/.github/workflows/yx_scope_pr.yaml index cd21034..1921fc5 100644 --- a/.github/workflows/yx_scope_pr.yaml +++ b/.github/workflows/yx_scope_pr.yaml @@ -17,7 +17,7 @@ jobs: strategy: matrix: # Check the library against the most recent version and the previous minor version - flutter-version: [3.32.4, 3.29.2, 3.27.1, 3.24.5] + flutter-version: [3.38.4, 3.35.7, 3.32.8, 3.29.3, 3.27.3, 3.24.5] package: - yx_scope/packages/yx_scope - yx_scope/packages/yx_scope_flutter From 691e6f5b5ba74cc55f39855d748cbc5aabd8f496 Mon Sep 17 00:00:00 2001 From: Sergey Koltsov Date: Fri, 12 Dec 2025 22:11:43 +0300 Subject: [PATCH 2/9] Upgrade yx_scope_linter dependencies --- yx_scope/packages/yx_scope_linter/CHANGELOG.md | 7 +++++++ yx_scope/packages/yx_scope_linter/example/pubspec.yaml | 2 +- yx_scope/packages/yx_scope_linter/pubspec.yaml | 9 +++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/yx_scope/packages/yx_scope_linter/CHANGELOG.md b/yx_scope/packages/yx_scope_linter/CHANGELOG.md index 3dc804e..f574356 100644 --- a/yx_scope/packages/yx_scope_linter/CHANGELOG.md +++ b/yx_scope/packages/yx_scope_linter/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.2.0 - 2025.12.16 + +* custom_lint ^0.6.8 -> ^0.7.0; +* custom_lint_builder ^0.6.2 -> ^0.7.0; +* analyzer_plugin ^0.11.2 -> ^0.13.4; +* analyzer ^6.4.1 -> ^7.0.0 + ## 0.1.4 - 2025.07.08 * Documentation links fixed diff --git a/yx_scope/packages/yx_scope_linter/example/pubspec.yaml b/yx_scope/packages/yx_scope_linter/example/pubspec.yaml index 82c1eb3..323a918 100644 --- a/yx_scope/packages/yx_scope_linter/example/pubspec.yaml +++ b/yx_scope/packages/yx_scope_linter/example/pubspec.yaml @@ -11,6 +11,6 @@ dependencies: dev_dependencies: lints: ^2.0.0 - custom_lint: ^0.6.8 + custom_lint: ^0.7.0 yx_scope_linter: path: .. diff --git a/yx_scope/packages/yx_scope_linter/pubspec.yaml b/yx_scope/packages/yx_scope_linter/pubspec.yaml index e159b32..531aeda 100644 --- a/yx_scope/packages/yx_scope_linter/pubspec.yaml +++ b/yx_scope/packages/yx_scope_linter/pubspec.yaml @@ -1,6 +1,6 @@ name: yx_scope_linter description: A package that contains static analysis rules for yx_scope DI framework -version: 0.1.4 +version: 0.2.0 repository: https://github.com/yandex/city-services-pub/tree/main/yx_scope/packages/yx_scope_linter issue_tracker: https://github.com/yandex/city-services-pub/issues topics: @@ -13,10 +13,11 @@ environment: sdk: '>=2.19.6 <4.0.0' dependencies: - analyzer: ^6.4.1 - analyzer_plugin: ^0.11.2 - custom_lint_builder: ^0.6.2 + analyzer: ^7.0.0 + analyzer_plugin: ^0.13.4 + custom_lint_builder: ^0.7.0 yx_scope: ^1.1.1 dev_dependencies: lints: ^2.0.0 + custom_lint: ^0.7.0 From f64f2e7c534822dc39c6597e8f80a8cb23e2f888 Mon Sep 17 00:00:00 2001 From: Sergey Koltsov Date: Fri, 12 Dec 2025 22:19:42 +0300 Subject: [PATCH 3/9] Wider range of yx_scope_linter deps versions --- yx_scope/packages/yx_scope_linter/pubspec.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/yx_scope/packages/yx_scope_linter/pubspec.yaml b/yx_scope/packages/yx_scope_linter/pubspec.yaml index 531aeda..ad747aa 100644 --- a/yx_scope/packages/yx_scope_linter/pubspec.yaml +++ b/yx_scope/packages/yx_scope_linter/pubspec.yaml @@ -13,11 +13,11 @@ environment: sdk: '>=2.19.6 <4.0.0' dependencies: - analyzer: ^7.0.0 - analyzer_plugin: ^0.13.4 - custom_lint_builder: ^0.7.0 + analyzer: '>=6.4.1 <8.0.0' + analyzer_plugin: '>=0.11.2 <0.14.0' + custom_lint_builder: '>=0.6.2 <0.8.0' yx_scope: ^1.1.1 dev_dependencies: lints: ^2.0.0 - custom_lint: ^0.7.0 + custom_lint: '>=0.6.8 <0.8.0' From cca488310295e4c9a51e82f164b01c26ac0d7fc3 Mon Sep 17 00:00:00 2001 From: Sergey Koltsov Date: Fri, 12 Dec 2025 22:26:44 +0300 Subject: [PATCH 4/9] Add fail-fast strategy --- .github/workflows/yx_scope_pr.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/yx_scope_pr.yaml b/.github/workflows/yx_scope_pr.yaml index 1921fc5..6140008 100644 --- a/.github/workflows/yx_scope_pr.yaml +++ b/.github/workflows/yx_scope_pr.yaml @@ -15,6 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: # Check the library against the most recent version and the previous minor version flutter-version: [3.38.4, 3.35.7, 3.32.8, 3.29.3, 3.27.3, 3.24.5] From 3e5e07dd42c759ed2ba999fbee67fca995065eaa Mon Sep 17 00:00:00 2001 From: Sergey Koltsov Date: Fri, 12 Dec 2025 22:33:59 +0300 Subject: [PATCH 5/9] Separate job for linter matrix --- .github/workflows/yx_scope_pr.yaml | 41 ++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/.github/workflows/yx_scope_pr.yaml b/.github/workflows/yx_scope_pr.yaml index 6140008..a20f9ac 100644 --- a/.github/workflows/yx_scope_pr.yaml +++ b/.github/workflows/yx_scope_pr.yaml @@ -22,13 +22,48 @@ jobs: package: - yx_scope/packages/yx_scope - yx_scope/packages/yx_scope_flutter - - yx_scope/packages/yx_scope_linter defaults: run: working-directory: ${{ matrix.package }} shell: bash + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: ${{ matrix.flutter-version }} + + - name: Install dependencies + run: flutter pub get + + - name: Check formatting + run: dart format --set-exit-if-changed . + + - name: Run linter + run: flutter analyze + + - name: Run tests + run: flutter test + + ci_checks_linter: + name: CI Checks (Linter) + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + # Check the library against the most recent version and the previous minor version + flutter-version: [3.38.4, 3.35.7, 3.32.8, 3.29.3, 3.27.3, 3.24.5] + + defaults: + run: + working-directory: yx_scope/packages/yx_scope_linter + shell: bash + steps: - name: Checkout code uses: actions/checkout@v4 @@ -50,7 +85,3 @@ jobs: - name: Verify custom_lint working-directory: yx_scope/packages/yx_scope_linter/example run: dart run custom_lint --watch - - - name: Run tests - if: matrix.package != 'yx_scope/packages/yx_scope_linter' - run: flutter test From e3b144d99c7154ec4cd77425ed5e31566f589e4d Mon Sep 17 00:00:00 2001 From: Sergey Koltsov Date: Fri, 12 Dec 2025 22:38:23 +0300 Subject: [PATCH 6/9] Use updated version of custom_lint and yx_scope_linter in yx_scope_flutter example --- yx_scope/packages/yx_scope_flutter/example/pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yx_scope/packages/yx_scope_flutter/example/pubspec.yaml b/yx_scope/packages/yx_scope_flutter/example/pubspec.yaml index 7f626cf..eabcf11 100644 --- a/yx_scope/packages/yx_scope_flutter/example/pubspec.yaml +++ b/yx_scope/packages/yx_scope_flutter/example/pubspec.yaml @@ -18,8 +18,8 @@ dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^2.0.0 - custom_lint: ^0.6.8 - yx_scope_linter: ^0.1.0 + custom_lint: ^0.7.0 + yx_scope_linter: ^0.2.0 flutter: uses-material-design: true From 9d927f111061855b17f794b5a576ddf1400b0f22 Mon Sep 17 00:00:00 2001 From: Sergey Koltsov Date: Fri, 12 Dec 2025 22:38:38 +0300 Subject: [PATCH 7/9] Ignore avoid_types_as_parameter_names lint rule in yx_scope --- yx_scope/packages/yx_scope/analysis_options.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/yx_scope/packages/yx_scope/analysis_options.yaml b/yx_scope/packages/yx_scope/analysis_options.yaml index 572dd23..57f5d15 100644 --- a/yx_scope/packages/yx_scope/analysis_options.yaml +++ b/yx_scope/packages/yx_scope/analysis_options.yaml @@ -1 +1,5 @@ include: package:lints/recommended.yaml + +linter: + rules: + avoid_types_as_parameter_names: false From dcbd394b46be123483c1fb1fa4d64ab64e935607 Mon Sep 17 00:00:00 2001 From: Sergey Koltsov Date: Fri, 12 Dec 2025 22:52:53 +0300 Subject: [PATCH 8/9] Min Dart version is 3.6.0 for yx_scope_linter. Ignore deprecated_member_use. --- .github/workflows/yx_scope_pr.yaml | 2 +- yx_scope/packages/yx_scope_linter/CHANGELOG.md | 1 + yx_scope/packages/yx_scope_linter/analysis_options.yaml | 4 ++++ yx_scope/packages/yx_scope_linter/pubspec.yaml | 3 ++- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/yx_scope_pr.yaml b/.github/workflows/yx_scope_pr.yaml index a20f9ac..1575a23 100644 --- a/.github/workflows/yx_scope_pr.yaml +++ b/.github/workflows/yx_scope_pr.yaml @@ -57,7 +57,7 @@ jobs: fail-fast: false matrix: # Check the library against the most recent version and the previous minor version - flutter-version: [3.38.4, 3.35.7, 3.32.8, 3.29.3, 3.27.3, 3.24.5] + flutter-version: [3.38.4, 3.35.7, 3.32.8, 3.29.3, 3.27.3] defaults: run: diff --git a/yx_scope/packages/yx_scope_linter/CHANGELOG.md b/yx_scope/packages/yx_scope_linter/CHANGELOG.md index f574356..1dfa7cd 100644 --- a/yx_scope/packages/yx_scope_linter/CHANGELOG.md +++ b/yx_scope/packages/yx_scope_linter/CHANGELOG.md @@ -4,6 +4,7 @@ * custom_lint_builder ^0.6.2 -> ^0.7.0; * analyzer_plugin ^0.11.2 -> ^0.13.4; * analyzer ^6.4.1 -> ^7.0.0 +* min Dart version 2.27.0 -> 3.6.0 ## 0.1.4 - 2025.07.08 diff --git a/yx_scope/packages/yx_scope_linter/analysis_options.yaml b/yx_scope/packages/yx_scope_linter/analysis_options.yaml index 572dd23..56f637b 100644 --- a/yx_scope/packages/yx_scope_linter/analysis_options.yaml +++ b/yx_scope/packages/yx_scope_linter/analysis_options.yaml @@ -1 +1,5 @@ include: package:lints/recommended.yaml + +analyzer: + errors: + deprecated_member_use: ignore diff --git a/yx_scope/packages/yx_scope_linter/pubspec.yaml b/yx_scope/packages/yx_scope_linter/pubspec.yaml index ad747aa..603a19c 100644 --- a/yx_scope/packages/yx_scope_linter/pubspec.yaml +++ b/yx_scope/packages/yx_scope_linter/pubspec.yaml @@ -10,7 +10,7 @@ topics: - dependency-management environment: - sdk: '>=2.19.6 <4.0.0' + sdk: '>=3.6.0 <4.0.0' dependencies: analyzer: '>=6.4.1 <8.0.0' @@ -20,4 +20,5 @@ dependencies: dev_dependencies: lints: ^2.0.0 + # TODO: migrate to analysis_server_plugin — https://github.com/dart-lang/sdk/blob/main/pkg/analysis_server_plugin/doc/writing_a_plugin.md custom_lint: '>=0.6.8 <0.8.0' From f883cf34757fb8931eb26dde71b3fa6404a0d701 Mon Sep 17 00:00:00 2001 From: Sergey Koltsov Date: Fri, 12 Dec 2025 23:01:19 +0300 Subject: [PATCH 9/9] Use dart version instead of flutter version check for yx_scope_linter in github CI --- .github/workflows/yx_scope_pr.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/yx_scope_pr.yaml b/.github/workflows/yx_scope_pr.yaml index 1575a23..54d3129 100644 --- a/.github/workflows/yx_scope_pr.yaml +++ b/.github/workflows/yx_scope_pr.yaml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - # Check the library against the most recent version and the previous minor version + # Check the packages against the most recent previous minor version flutter-version: [3.38.4, 3.35.7, 3.32.8, 3.29.3, 3.27.3, 3.24.5] package: - yx_scope/packages/yx_scope @@ -56,8 +56,8 @@ jobs: strategy: fail-fast: false matrix: - # Check the library against the most recent version and the previous minor version - flutter-version: [3.38.4, 3.35.7, 3.32.8, 3.29.3, 3.27.3] + # Check the linter against the most recent previous minor version + dart-version: [3.6.2, 3.7.2, 3.8.1, 3.9.2, 3.10.4] defaults: run: @@ -68,19 +68,19 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Set up Flutter - uses: subosito/flutter-action@v2 + - name: Set up Dart SDK + uses: dart-lang/setup-dart@v1 with: - flutter-version: ${{ matrix.flutter-version }} + dart-version: ${{ matrix.dart-version }} - name: Install dependencies - run: flutter pub get + run: dart pub get - name: Check formatting run: dart format --set-exit-if-changed . - name: Run linter - run: flutter analyze + run: dart analyze - name: Verify custom_lint working-directory: yx_scope/packages/yx_scope_linter/example