Skip to content

Latest commit

 

History

History
47 lines (32 loc) · 1.44 KB

File metadata and controls

47 lines (32 loc) · 1.44 KB

CIでの利用

閾値と循環依存

Dの閾値と循環依存を同時に検査できます。

psap analyze src/ --threshold 0.6 --fail-on-cycle

閾値超過または循環依存がある場合は終了コード1を返します。

循環ベースライン

既存の循環を許容し、新しく発生した循環だけをCIで失敗させられます。

最初に現在の循環を保存します。

psap analyze src/ --generate-cycle-baseline psap-baseline.json

CIではベースラインと比較します。

psap analyze src/ --cycle-baseline psap-baseline.json --fail-on-cycle

ベースラインには循環のメンバー、名前空間深度、docblock設定、除外パターンを保存します。比較時の解析条件が一致しない場合は入力エラーになります。解消した循環もtext、JSON、Markdownの比較結果へ出力します。

GitHub Actions

name: psap
on: [pull_request]

jobs:
  metrics:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: git clone --depth 1 https://github.com/shimabox/psap.git /tmp/psap
      - run: docker build -t psap --target dist -f /tmp/psap/docker/Dockerfile /tmp/psap
      - run: docker run --rm -v "$PWD":/workdir psap analyze src/ --threshold 0.6 --fail-on-cycle

MarkdownレポートをArtifactとして保存すれば、失敗した解析結果を生成AIへ渡して調査できます。