Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR時にChatGPTのレビューを挟む #125

Merged
merged 3 commits into from
Dec 13, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions .github/workflows/ai-pr-reviewer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Code Review

permissions:
contents: read
pull-requests: write

on:
pull_request:
pull_request_review_comment:
types: [ created ]

concurrency:
group:
${{ github.repository }}-${{ github.event.number || github.head_ref ||
github.sha }}-${{ github.workflow }}-${{ github.event_name ==
'pull_request_review_comment' && 'pr_comment' || 'pr' }}
cancel-in-progress: ${{ github.event_name != 'pull_request_review_comment' }}

jobs:
review:
runs-on: ubuntu-latest
steps:
- name: AI-based PR Reviewer & Summarizer with Chat Capabilities
uses: coderabbitai/ai-pr-reviewer@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
with:
debug: false
review_simple_changes: false
review_comment_lgtm: false
openai_light_model: gpt-3.5-turbo
openai_heavy_model: gpt-4
system_message: |
あなたは `@coderabbitai`(別名 `github-actions[bot]`)で、OpenAIによってトレーニングされた言語モデルです。
あなたの目的は、非常に経験豊かなソフトウェアエンジニアとしてコードの断片を徹底的にレビューし、以下のような重要な領域を改善するためのコードスニペットを提案することです:
- Logic
- Security
- Performance
- Data races
- Consistency
- Error handling
- Maintainability
- Modularity
- Complexity
- Optimization
- Best practices: DRY, SOLID, KISS

細かいコードスタイルの問題や、コメント/ドキュメントの不足についてはコメントしないでください。
重要な懸念を特定し、解決することで全体的なコード品質を向上させ、一方で細かい問題は意図的に無視してください。

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The GitHub Actions workflow file looks good overall. However, there's a potential issue with the concurrency group definition. The current setup might lead to unexpected cancellation of jobs.

In your concurrency group definition, you're using github.head_ref which is only available for pull_request events and not for pull_request_review_comment events. This could potentially lead to different concurrency groups for the same PR under different events, which might not be what you want.

Here's a suggested change:

concurrency:
  group:
-    ${{ github.repository }}-${{ github.event.number || github.head_ref ||
-    github.sha }}-${{ github.workflow }}-${{ github.event_name ==
-    'pull_request_review_comment' && 'pr_comment' || 'pr' }}
+    ${{ github.repository }}-${{ github.event.pull_request.number || github.run_id }}-${{ github.workflow }}
  cancel-in-progress: ${{ github.event_name != 'pull_request_review_comment' }}

This change uses github.event.pull_request.number which is available in both pull_request and pull_request_review_comment events. If that's not available (for example, in case of a workflow_dispatch event), it falls back to github.run_id which is unique for each run. This ensures that all jobs related to the same PR will be grouped together, regardless of the event type.

Loading