blob: 8a9b6fddc4611d55202c05c57ff0877860c91bae [file] [log] [blame]
# 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