blob: 3f837de14f3b1dfba02af6b9705ab1c2a4b92dfd [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
sudo chmod +x /usr/bin/dcm
- name: Setup Dart SDK
uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d
with:
sdk: dev
- id: checkout
name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
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