Skip to content

Commit

Permalink
refactor: Enable DCM linting (#2667)
Browse files Browse the repository at this point in the history
This is a first step towards enabling DCM for Flame. Though I have tested with all rules, and am working on selecting, assessing, and fixing violations, as a first step, we can merge the infrastructural changes to flame_lint to and GitHub actions.
As a proof of concept, I am enabling two rules for which we have no violations.
I will followup with enabling more rules, adding discussions for controversial changes, and fixing non-controversial violations.
  • Loading branch information
luanpotter committed Aug 24, 2023
1 parent 6fe9a24 commit 27a8fd6
Show file tree
Hide file tree
Showing 41 changed files with 67 additions and 39 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/cicd.yml
Expand Up @@ -42,6 +42,24 @@ jobs:
node-version: 18
- run: npm install -g markdownlint-cli
- run: markdownlint . -p .markdownlintignore -c .markdownlint.yaml

dcm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.13.0'
channel: 'stable'
- uses: bluefireteam/melos-action@v2

- name: Install DCM
uses: CQLabs/setup-dcm@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}

- name: Run DCM
run: dcm analyze .
# END LINTING STAGE

# BEGIN TESTING STAGE
Expand Down
2 changes: 1 addition & 1 deletion doc/flame/examples/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/klondike/app/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/platformer/app/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/space_shooter/app/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion examples/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion examples/games/padracing/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion examples/games/rogue_shooter/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion examples/games/trex/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame/example/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_audio/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_audio/example/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_bloc/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_bloc/example/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_fire_atlas/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_fire_atlas/example/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_forge2d/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_forge2d/example/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_isolate/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_isolate/example/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_jenny/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_jenny/jenny/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_lint/analysis_options.yaml
@@ -1 +1 @@
include: lib/analysis_options.yaml
include: lib/analysis_options_with_dcm.yaml
10 changes: 10 additions & 0 deletions packages/flame_lint/lib/analysis_options_with_dcm.yaml
@@ -0,0 +1,10 @@
include: analysis_options.yaml

# DCM rules defined here: https://dcm.dev/docs/rules/

dart_code_metrics:
rules:
# dart rules
- avoid-banned-imports
# flutter rules
- prefer-define-hero-tag
2 changes: 1 addition & 1 deletion packages/flame_lottie/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_lottie/example/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_network_assets/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_noise/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_oxygen/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_rive/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_rive/example/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_spine/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_spine/example/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_studio/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_svg/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_svg/example/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_test/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_tiled/analysis_options.yaml
@@ -1 +1 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml
2 changes: 1 addition & 1 deletion packages/flame_tiled/example/analysis_options.yaml
@@ -1,4 +1,4 @@
include: package:flame_lint/analysis_options.yaml
include: package:flame_lint/analysis_options_with_dcm.yaml

linter:
rules:
Expand Down

0 comments on commit 27a8fd6

Please sign in to comment.