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"