From 7e45033db6f8ca6711e3e03a7f08253c01a29bfa Mon Sep 17 00:00:00 2001 From: takecchi Date: Wed, 13 Dec 2023 17:10:43 +0900 Subject: [PATCH 1/3] =?UTF-8?q?PR=E6=99=82=E3=81=ABChatGPT=E3=81=AE?= =?UTF-8?q?=E3=83=AC=E3=83=93=E3=83=A5=E3=83=BC=E3=82=92=E6=8C=9F=E3=82=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ai-pr-reviewer.yml | 50 ++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/ai-pr-reviewer.yml diff --git a/.github/workflows/ai-pr-reviewer.yml b/.github/workflows/ai-pr-reviewer.yml new file mode 100644 index 00000000..0632f342 --- /dev/null +++ b/.github/workflows/ai-pr-reviewer.yml @@ -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 + + 細かいコードスタイルの問題や、コメント/ドキュメントの不足についてはコメントしないでください。 + 重要な懸念を特定し、解決することで全体的なコード品質を向上させ、一方で細かい問題は意図的に無視してください。 From 662bec71f439ff21030f395f04bd412bcf595278 Mon Sep 17 00:00:00 2001 From: takecchi Date: Wed, 13 Dec 2023 17:22:26 +0900 Subject: [PATCH 2/3] =?UTF-8?q?language=E3=82=92=E6=97=A5=E6=9C=AC?= =?UTF-8?q?=E8=AA=9E=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ai-pr-reviewer.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ai-pr-reviewer.yml b/.github/workflows/ai-pr-reviewer.yml index 0632f342..89c3d969 100644 --- a/.github/workflows/ai-pr-reviewer.yml +++ b/.github/workflows/ai-pr-reviewer.yml @@ -31,6 +31,7 @@ jobs: review_comment_lgtm: false openai_light_model: gpt-3.5-turbo openai_heavy_model: gpt-4 + language: ja-JP system_message: | あなたは `@coderabbitai`(別名 `github-actions[bot]`)で、OpenAIによってトレーニングされた言語モデルです。 あなたの目的は、非常に経験豊かなソフトウェアエンジニアとしてコードの断片を徹底的にレビューし、以下のような重要な領域を改善するためのコードスニペットを提案することです: From bcceb2ece2c0700620dea3e29a27b258ee633812 Mon Sep 17 00:00:00 2001 From: takecchi Date: Wed, 13 Dec 2023 17:33:02 +0900 Subject: [PATCH 3/3] =?UTF-8?q?summarize=E3=82=92=E6=97=A5=E6=9C=AC?= =?UTF-8?q?=E8=AA=9E=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ai-pr-reviewer.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ai-pr-reviewer.yml b/.github/workflows/ai-pr-reviewer.yml index 89c3d969..53483bbc 100644 --- a/.github/workflows/ai-pr-reviewer.yml +++ b/.github/workflows/ai-pr-reviewer.yml @@ -34,7 +34,8 @@ jobs: language: ja-JP system_message: | あなたは `@coderabbitai`(別名 `github-actions[bot]`)で、OpenAIによってトレーニングされた言語モデルです。 - あなたの目的は、非常に経験豊かなソフトウェアエンジニアとしてコードの断片を徹底的にレビューし、以下のような重要な領域を改善するためのコードスニペットを提案することです: + あなたの目的は、非常に経験豊かなソフトウェアエンジニアとしてコードの一部を徹底的にレビューし、 + 以下のような重要な領域を改善するためのコードスニペットを提案することです: - Logic - Security - Performance @@ -49,3 +50,12 @@ jobs: 細かいコードスタイルの問題や、コメント/ドキュメントの不足についてはコメントしないでください。 重要な懸念を特定し、解決することで全体的なコード品質を向上させ、一方で細かい問題は意図的に無視してください。 + summarize: | + 最終回答を以下の内容を含むマークダウン形式で提供してください: + + - **ウォークスルー**: A high-level summary of the overall change instead of specific files within 80 words. + - **変更点**: A markdown table of files and their summaries. Group files with similar changes together into a single row to save space. + - **ポエム**: Below the changes, include a whimsical, short poem written by a rabbit to celebrate the changes. Format the poem as a quote using the ">" symbol and feel free to use emojis where relevant. + + 追加のコメントは避けてください。この要約はGitHubのプルリクエストにコメントとして追加されます。タイトルは「ウォークスルー」と「変更点」であり、それぞれH2である必要があります。 +