mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-02 03:40:38 +08:00
Github custom action development
This commit is contained in:
13
.github/workflows/review.yaml
vendored
Normal file
13
.github/workflows/review.yaml
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
pr_agent_job:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Run pr agent on every pull request
|
||||||
|
steps:
|
||||||
|
- name: PR Agent action step
|
||||||
|
id: pragent
|
||||||
|
uses: Codium-ai/pr-agent@feature/github_action
|
||||||
|
with:
|
||||||
|
openai-key: "TBD: openai key"
|
||||||
|
|
10
Dockerfile.github_action
Normal file
10
Dockerfile.github_action
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
FROM python:3.10 as base
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
ADD requirements.txt .
|
||||||
|
RUN pip install -r requirements.txt && rm requirements.txt
|
||||||
|
ENV PYTHONPATH=/app
|
||||||
|
ADD pr_agent pr_agent
|
||||||
|
ADD github_action/entrypoint.sh /
|
||||||
|
RUN chmod +x /entrypoint.sh
|
||||||
|
ENTRYPOINT ["/entrypoint.sh"]
|
10
action.yaml
Normal file
10
action.yaml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
name: 'PR Agent'
|
||||||
|
description: 'Summarize, review and suggest improvements for pull requests'
|
||||||
|
inputs:
|
||||||
|
openai-key: # id of input
|
||||||
|
description: 'OpenAI Key'
|
||||||
|
required: true
|
||||||
|
default: ''
|
||||||
|
runs:
|
||||||
|
using: 'docker'
|
||||||
|
image: 'Dockerfile.github_action'
|
2
github_action/entrypoint.sh
Normal file
2
github_action/entrypoint.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
python /app/pr_agent/servers/github_action_runner.py
|
28
pr_agent/servers/github_action_runner.py
Normal file
28
pr_agent/servers/github_action_runner.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
def run_action():
|
||||||
|
GITHUB_EVENT_NAME = os.environ.get('GITHUB_EVENT_NAME', None)
|
||||||
|
if not GITHUB_EVENT_NAME:
|
||||||
|
print("GITHUB_EVENT_NAME not set")
|
||||||
|
return
|
||||||
|
GITHUB_EVENT_PATH = os.environ.get('GITHUB_EVENT_PATH', None)
|
||||||
|
if not GITHUB_EVENT_PATH:
|
||||||
|
print("GITHUB_EVENT_PATH not set")
|
||||||
|
return
|
||||||
|
event_payload = json.load(open(GITHUB_EVENT_PATH, 'r'))
|
||||||
|
GITHUB_REPOSITORY = os.environ.get('GITHUB_REPOSITORY', None)
|
||||||
|
if not GITHUB_REPOSITORY:
|
||||||
|
print("GITHUB_REPOSITORY not set")
|
||||||
|
return
|
||||||
|
print(event_payload)
|
||||||
|
print(GITHUB_REPOSITORY)
|
||||||
|
print(GITHUB_EVENT_NAME)
|
||||||
|
print(GITHUB_EVENT_PATH)
|
||||||
|
print("Hello from run_action")
|
||||||
|
RUNNER_DEBUG = os.environ.get('RUNNER_DEBUG', None)
|
||||||
|
if not RUNNER_DEBUG:
|
||||||
|
print("RUNNER_DEBUG not set")
|
||||||
|
return
|
||||||
|
print(RUNNER_DEBUG)
|
Reference in New Issue
Block a user