diff --git a/.github/workflows/check-complexity.yaml b/.github/workflows/check-complexity.yaml new file mode 100644 index 00000000000..0bd8c04d96c --- /dev/null +++ b/.github/workflows/check-complexity.yaml @@ -0,0 +1,55 @@ +name: Wily on PR + +on: + pull_request: + + +jobs: + + evaluate-complexity: + name: Evaluate Code complexity + runs-on: ubuntu-22.04 + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.ref }} + - name: Install Wily + run: pip install wily==1.20.0 + - name: Build cache and diff + id: wily + run: | + wily build my_package/ tests/ + DIFF=$(wily diff my_package/ tests/ --no-detail -r origin/${{ github.event.pull_request.base.ref }}) + echo "$DIFF" + + # Build multine output + DIFF="${DIFF//'%'/'%25'}" + DIFF="${DIFF//$'\n'/'%0A'}" + DIFF="${DIFF//$'\r'/'%0D'}" + echo "::set-output name=diff::$DIFF" + - name: Find current PR + uses: jwalton/gh-find-current-pr@v1 + id: findPr + - name: Add Wily PR Comment + uses: marocchino/sticky-pull-request-comment@v2 + if: steps.findPr.outputs.number && steps.wily.outputs.diff != '' + with: + recreate: true + number: ${{ steps.findPr.outputs.number }} + message: | + ``` + ${{ steps.wily.outputs.diff }} + ``` + - name: Add Wily PR Comment + uses: marocchino/sticky-pull-request-comment@v2 + if: steps.findPr.outputs.number && steps.wily.outputs.diff == '' + with: + recreate: true + number: ${{ steps.findPr.outputs.number }} + message: | + ``` + Wily: No changes in complexity detected. + ``` \ No newline at end of file