| # A CI workflow to run the Dart Code Metrics analyzer (https://dcm.dev). |
| |
| name: Dart Code Metrics |
| |
| on: |
| pull_request: |
| types: [synchronize, opened, reopened] |
| branches: |
| - master |
| |
| jobs: |
| dcm: |
| name: Dart Code Metrics |
| runs-on: ubuntu-latest |
| steps: |
| - name: Install DCM |
| run: | |
| sudo apt-get update |
| wget -qO- https://dcm.dev/pgp-key.public | sudo gpg --dearmor -o /usr/share/keyrings/dcm.gpg |
| echo 'deb [signed-by=/usr/share/keyrings/dcm.gpg arch=amd64] https://dcm.dev/debian stable main' | sudo tee /etc/apt/sources.list.d/dart_stable.list |
| sudo apt-get update |
| sudo apt-get install dcm=1.16.2-1 # To avoid errors add `-1` (build number) to the version |
| sudo chmod +x /usr/bin/dcm |
| - name: Setup Dart SDK |
| uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3 |
| with: |
| sdk: dev |
| - id: checkout |
| name: Checkout repository |
| uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 |
| with: |
| ref: "${{ github.event.pull_request.head.sha }}" |
| - id: dwds_pub_upgrade |
| name: dwds; dart pub upgrade |
| run: dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: dwds |
| - name: Run DCM on DWDS |
| run: dcm analyze lib |
| working-directory: dwds |