Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vochicong/693bc0ab9b37ceabc6c987d5d57309bb to your computer and use it in GitHub Desktop.
Save vochicong/693bc0ab9b37ceabc6c987d5d57309bb to your computer and use it in GitHub Desktop.
CircleCIでGitHub上のPRを自動コードレビュー(master, develop以外任意の統合先ブランチにも対応) ref: https://qiita.com/vochicong/items/2008bfe045c216c0ad3a
# CI_PULL_REQUESTSから関連PRのIDを(複数)取り出す
def pr_ids(pr_id = nil)
ids = ENV.fetch('CI_PULL_REQUESTS', '').split(',').map { |url| pr_id url }
ids.push pr_id if pr_id
ids
end
# PRのURLから、最後の数値列を取り出しPRのIDとする
def pr_id(pr_url)
pr_url[/\d+$/].to_i
end
#!/usr/bin/env bash
# CircleCIから環境変数を受け取り、コードレビューのrakeタスクに渡す
set -eu
export GITHUB_OWNER=$CIRCLE_PROJECT_USERNAME
export GITHUB_REPO=$CIRCLE_PROJECT_REPONAME
export PRONTO_GITHUB_ACCESS_TOKEN=$GITHUB_ACCESS_TOKEN
set -x
bin/rake pr:code_review
echo DONE
# ProntoのチェッカーをGemfileに指定してインストール
group :development, :test do
# Pronto: auto code review
gem 'pronto-rubocop', require: false
gem 'pronto-reek', require: false
gem 'pronto-flay', require: false
end
query {
repository(owner: "#{owner}", name: "#{name}") {
pullRequest(number: #{pr_id}) {
title
url
baseRefName
headRefName
}
}
}
# コマンドラインで現在のブランチとマージ先のブランチの差分に対してコードチェック
# Check the diff between current branch and the branch specified
# PR `TO_BRANCH` ← `FROM_BRANCH`における変更箇所のチェックを行うには
git checkout FROM_BRANCH
bin/pronto run -c origin/TO_BRANCH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment