Skip to content

Commit

Permalink
[#494] Replace danger-ruby with danger-kotlin
Browse files Browse the repository at this point in the history
  • Loading branch information
chornerman committed Aug 3, 2023
1 parent c6cc06d commit 18b0e80
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 24 deletions.
25 changes: 1 addition & 24 deletions .github/workflows/review_pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,30 +69,7 @@ jobs:
working-directory: ./template-compose
run: ./gradlew koverMergedXmlReport

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'

- name: Cache gems
uses: actions/cache@v2
with:
path: vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-
- name: Install Bundle and check environment versions
run: |
echo 'Install Bundle'
bundle config path vendor/bundle
bundle install
echo 'Check environment setup versions'
ruby --version
gem --version
bundler --version
- name: Run Danger
uses: danger/[email protected]
env:
DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: bundle exec danger
57 changes: 57 additions & 0 deletions Dangerfile.df.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// Dangerfile.df.kts

import io.gitlab.arturbosch.detekt.detekt
import systems.danger.kotlin.*

// Set up the Danger Kotlin object
val danger = danger(args)

// Make it more obvious that a PR is a work in progress and shouldn't be merged yet
if (github.prTitle.contains("WIP")) {
warn("PR is classed as Work in Progress")
}

// Warn when there is a big PR
if (git.linesOfCode > 500) {
warn("Big PR")
}

// Warn to encourage a PR description
if (github.prBody.isEmpty()) {
warn("Please provide a summary in the PR description to make it easier to review")
}

// Warn to encourage that labels should have been used on the PR
if (github.prLabels.isEmpty()) {
warn("Please add labels to this PR")
}

// Check commits lint and warn on all checks (instead of failing)
commitLint.check(warn = CheckSeverity.All, disable = listOf(CheckId.SubjectLength))

// Detekt output check
val detektDir = "**/build/reports/detekt/detekt-result.xml"
detektDir.listFiles().forEach { file ->
kotlinDetekt.skipGradleTask = true
kotlinDetekt.reportFile = file
kotlinDetekt.detekt(inlineMode = true)
}

// Android Lint output check
val lintDir = "**/**/build/reports/lint/lint-result.xml"
lintDir.listFiles().forEach { file ->
androidLint.skipGradleTask = true
androidLint.reportFile = file
androidLint.lint(inlineMode = true)
}

// Show Danger test coverage report from Kover for templates
// Report coverage of modified files, warn if total project coverage is under 80%
// or if any modified file's coverage is under 90%
val koverFileTemplateXml = "template-xml/build/reports/kover/merged/xml/report.xml"
markdown("## Kover report for template-xml:")
shroud.reportKover("Template - XML Unit Tests", koverFileTemplateXml, 80, 95, false)

val koverFileTemplateCompose = "template-compose/build/reports/kover/merged/xml/report.xml"
markdown("## Kover report for template-compose:")
shroud.reportKover("Template - Compose Unit Tests", koverFileTemplateCompose, 80, 95, false)

0 comments on commit 18b0e80

Please sign in to comment.