LoginSignup
10
6

More than 5 years have passed since last update.

Kotlin+DangerをGithub Actionsで動かす

Last updated at Posted at 2019-01-24

前提

danger-checkstyle_formatプラグインがgemにしかないのでRuby製のdangerを使用しました

結論

これでイケた

workflow "DangerPullRequest" {
  on = "pull_request"
  resolves = ["Danger"]
}

action "Detekt" {
  uses = "docker://adoptopenjdk/openjdk8:alpine"
  runs = "./gradlew"
  args = "detekt" ← ktlint or 併用でも適宜読み替えてください
}

action "Danger" {
  uses = "u-nation/GithubActions/danger@master"
  needs = "Detekt"
  secrets = ["GITHUB_TOKEN"]
}

ハマりポイント

  • on = "push" だとDangerがNot a GitHubActions Pull Request - skipping danger runエラーを出すので on = "pull_request" にするのを忘れない
  • GithubActionsのでDangerに対応したのは5.10.3から、なのでバージョン指定をちゃんとする
FROM ruby:2.6

LABEL "com.github.actions.name"="Danger"
LABEL "com.github.actions.description"="Run Danger"
LABEL "com.github.actions.icon"="alert-triangle"
LABEL "com.github.actions.color"="yellow"

LABEL "maintainer"="u-nation <Endooooooo7@gmail.com>"

RUN apt-get update -qq && apt-get install -y build-essential p7zip unzip

RUN gem install danger -v '>= 5.10.3' ← これが大事
RUN gem install danger-checkstyle_format

ENTRYPOINT "danger"
CMD "--verbose"

Danger対応してくれた duck8823さんに感謝

他のCIサービスを使うよりいいところ

  • Botアカウントを用意しなくて済む
    image.png

  • Gemfileもなくて済む(使ってもできたがなるべくファイル数は減らしたい)

参考

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6