From 343f2f4f167fa3950e78e5d541d1212373503060 Mon Sep 17 00:00:00 2001 From: Vlad Suhomlinov Date: Thu, 2 Sep 2021 20:05:33 +0300 Subject: [PATCH] feat: add danger --- .../ios/pull-request/danger_copypaste | 6 ++++ .../ios/pull-request/danger_pr_size | 2 ++ .../ios/pull-request/pull-request.yml | 34 +++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 github_workflows/ios/pull-request/danger_copypaste create mode 100644 github_workflows/ios/pull-request/danger_pr_size create mode 100644 github_workflows/ios/pull-request/pull-request.yml diff --git a/github_workflows/ios/pull-request/danger_copypaste b/github_workflows/ios/pull-request/danger_copypaste new file mode 100644 index 0000000..ded3b9d --- /dev/null +++ b/github_workflows/ios/pull-request/danger_copypaste @@ -0,0 +1,6 @@ +diff = git.diff_for_file("CPDLog.txt") +isCopypasteAdded = (diff.insertions - diff.deletions) > 0 + +if diff && isCopypasteAdded + fail("Кажется, добавилась копипаста в коде 😞 Надо её убрать 🧰", sticky: false) +end \ No newline at end of file diff --git a/github_workflows/ios/pull-request/danger_pr_size b/github_workflows/ios/pull-request/danger_pr_size new file mode 100644 index 0000000..cc54cf4 --- /dev/null +++ b/github_workflows/ios/pull-request/danger_pr_size @@ -0,0 +1,2 @@ +# Warn when there is a big PR +warn("Размер pull-request''а слишком большой!") if git.lines_of_code > 600 \ No newline at end of file diff --git a/github_workflows/ios/pull-request/pull-request.yml b/github_workflows/ios/pull-request/pull-request.yml new file mode 100644 index 0000000..1af6ebc --- /dev/null +++ b/github_workflows/ios/pull-request/pull-request.yml @@ -0,0 +1,34 @@ +name: pull-request + +on: + pull_request: + branches-ignore: + - 'master' + - 'main' + - 'dev' + - 'develop' + - 'develop*' + - 'release/**' + +jobs: + danger: + runs-on: macos-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up Ruby 2.6 + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.6 + bundler-cache: true + + - name: Run pr size checker + env: + DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: bundle exec danger --dangerfile "BuildScripts/github_workflows/ios/pull-request/danger_pr_size" + + - name: Run copypaste detector + env: + DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: bundle exec danger --dangerfile "BuildScripts/github_workflows/ios/pull-request/danger_copypaste"