|
|
@@ -1,81 +0,0 @@
|
|
|
-# Workflow that uses OpenHands to review a pull request. PR must be labeled 'review-this'
|
|
|
-name: Use OpenHands to Review Pull Request
|
|
|
-
|
|
|
-on:
|
|
|
- pull_request:
|
|
|
- types: [synchronize, labeled]
|
|
|
-
|
|
|
-permissions:
|
|
|
- contents: write
|
|
|
- pull-requests: write
|
|
|
-
|
|
|
-jobs:
|
|
|
- dogfood:
|
|
|
- if: contains(github.event.pull_request.labels.*.name, 'review-this')
|
|
|
- runs-on: ubuntu-latest
|
|
|
- steps:
|
|
|
- - uses: actions/checkout@v4
|
|
|
- - name: Set up Docker Buildx
|
|
|
- id: buildx
|
|
|
- uses: docker/setup-buildx-action@v3
|
|
|
- - name: Set up Python
|
|
|
- uses: actions/setup-python@v5
|
|
|
- with:
|
|
|
- python-version: '3.12'
|
|
|
- - name: install git, github cli
|
|
|
- run: |
|
|
|
- sudo apt-get install -y git gh
|
|
|
- git config --global --add safe.directory $PWD
|
|
|
- - name: Checkout Repository
|
|
|
- uses: actions/checkout@v4
|
|
|
- with:
|
|
|
- ref: ${{ github.event.pull_request.base.ref }} # check out the target branch
|
|
|
- - name: Download Diff
|
|
|
- run: |
|
|
|
- curl -O "${{ github.event.pull_request.diff_url }}" -L
|
|
|
- - name: Write Task File
|
|
|
- run: |
|
|
|
- echo "Your coworker wants to apply a pull request to this project." > task.txt
|
|
|
- echo "Read and review ${{ github.event.pull_request.number }}.diff file. Create a review-${{ github.event.pull_request.number }}.txt and write your concise comments and suggestions there." >> task.txt
|
|
|
- echo "Do not ask me for confirmation at any point." >> task.txt
|
|
|
- echo "" >> task.txt
|
|
|
- echo "Title" >> task.txt
|
|
|
- echo "${{ github.event.pull_request.title }}" >> task.txt
|
|
|
- echo "" >> task.txt
|
|
|
- echo "Description" >> task.txt
|
|
|
- echo "${{ github.event.pull_request.body }}" >> task.txt
|
|
|
- echo "" >> task.txt
|
|
|
- echo "Diff file is: ${{ github.event.pull_request.number }}.diff" >> task.txt
|
|
|
- - name: Set up environment
|
|
|
- run: |
|
|
|
- curl -sSL https://install.python-poetry.org | python3 -
|
|
|
- export PATH="/github/home/.local/bin:$PATH"
|
|
|
- poetry install --without evaluation,llama-index
|
|
|
- poetry run playwright install --with-deps chromium
|
|
|
- - name: Run OpenHands
|
|
|
- env:
|
|
|
- LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
|
|
- LLM_MODEL: ${{ vars.LLM_MODEL }}
|
|
|
- run: |
|
|
|
- # Append path to launch poetry
|
|
|
- export PATH="/github/home/.local/bin:$PATH"
|
|
|
- # Append path to correctly import package, note: must set pwd at first
|
|
|
- export PYTHONPATH=$(pwd):$PYTHONPATH
|
|
|
- export WORKSPACE_MOUNT_PATH=$GITHUB_WORKSPACE
|
|
|
- export WORKSPACE_BASE=$GITHUB_WORKSPACE
|
|
|
- echo -e "/exit\n" | poetry run python openhands/core/main.py -i 50 -f task.txt
|
|
|
- rm task.txt
|
|
|
- - name: Check if review file is non-empty
|
|
|
- id: check_file
|
|
|
- run: |
|
|
|
- ls -la
|
|
|
- if [[ -s review-${{ github.event.pull_request.number }}.txt ]]; then
|
|
|
- echo "non_empty=true" >> $GITHUB_OUTPUT
|
|
|
- fi
|
|
|
- shell: bash
|
|
|
- - name: Create PR review if file is non-empty
|
|
|
- env:
|
|
|
- GH_TOKEN: ${{ github.token }}
|
|
|
- if: steps.check_file.outputs.non_empty == 'true'
|
|
|
- run: |
|
|
|
- gh pr review ${{ github.event.pull_request.number }} --comment --body-file "review-${{ github.event.pull_request.number }}.txt"
|