fix
This commit is contained in:
@@ -16,19 +16,14 @@ on:
|
||||
|
||||
jobs:
|
||||
solve:
|
||||
# Для автоматического запуска по метке
|
||||
# Запускать при ручном триггере ИЛИ при добавлении метки ai-solve
|
||||
if: |
|
||||
(gitea.event_name == 'workflow_dispatch') ||
|
||||
(gitea.event_name == 'issues' && contains(gitea.event.issue.labels.*.name, 'ai-solve'))
|
||||
(gitea.event_name == 'issues' && contains(gitea.event.labels.*.name, 'ai-solve'))
|
||||
|
||||
runs-on: opencode
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.GGITEA_TOKEN }}
|
||||
|
||||
- name: Debug environment
|
||||
run: |
|
||||
echo "=== Debug Info ==="
|
||||
@@ -41,36 +36,72 @@ jobs:
|
||||
echo "event.labels: ${{ toJSON(gitea.event.labels) }}"
|
||||
echo "=== End Debug ==="
|
||||
|
||||
- name: Setup issue data
|
||||
id: setup
|
||||
run: |
|
||||
echo "Determining issue number based on event type..."
|
||||
|
||||
if [[ "${{ gitea.event_name }}" == "workflow_dispatch" ]]; then
|
||||
# Ручной запуск - берем из inputs
|
||||
ISSUE_NUMBER="${{ gitea.event.inputs.issue_number }}"
|
||||
echo "Manual run - Issue number: $ISSUE_NUMBER"
|
||||
elif [[ "${{ gitea.event_name }}" == "issues" ]]; then
|
||||
# Автоматический запуск - берем из события issue
|
||||
ISSUE_NUMBER="${{ gitea.event.issue.number }}"
|
||||
echo "Auto run - Issue number: $ISSUE_NUMBER"
|
||||
else
|
||||
echo "Unknown event type: ${{ gitea.event_name }}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "issue_number=$ISSUE_NUMBER" >> $GITHUB_OUTPUT
|
||||
echo "event_type=${{ gitea.event_name }}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.GGITEA_TOKEN }}
|
||||
|
||||
- name: Solve Issue
|
||||
env:
|
||||
GGITEA_URL: ${{ secrets.GGITEA_URL }}
|
||||
GGITEA_TOKEN: ${{ secrets.GGITEA_TOKEN }}
|
||||
# Правильные пути для Gitea
|
||||
REPO_OWNER: ${{ gitea.repository_owner }}
|
||||
REPO_NAME: ${{ gitea.repository }}
|
||||
# Номер issue в зависимости от типа триггера
|
||||
ISSUE_NUMBER: ${{ gitea.event.inputs.issue_number || gitea.event.issue.number }}
|
||||
# Дополнительная информация
|
||||
EVENT_TYPE: ${{ gitea.event_name }}
|
||||
ISSUE_TITLE: ${{ gitea.event.issue.title || '' }}
|
||||
ISSUE_BODY: ${{ gitea.event.issue.body || '' }}
|
||||
ISSUE_NUMBER: ${{ steps.setup.outputs.issue_number }}
|
||||
EVENT_TYPE: ${{ steps.setup.outputs.event_type }}
|
||||
run: |
|
||||
echo "=== Starting AI Issue Solver ==="
|
||||
echo "Event type: $EVENT_TYPE"
|
||||
echo "Repository: $REPO_OWNER/$REPO_NAME"
|
||||
echo "Issue number: $ISSUE_NUMBER"
|
||||
echo "Issue title: $ISSUE_TITLE"
|
||||
|
||||
# Проверяем доступность solve-issue
|
||||
if ! command -v solve-issue &> /dev/null; then
|
||||
echo "ERROR: solve-issue command not found!"
|
||||
echo "Available commands in PATH:"
|
||||
echo "$PATH" | tr ':' '\n'
|
||||
command -v ls
|
||||
# Проверяем наличие команды solve-issue
|
||||
if ! command -v solve-issue >/dev/null 2>&1; then
|
||||
echo "❌ ERROR: solve-issue command not found in PATH!"
|
||||
echo "Current PATH: $PATH"
|
||||
echo "Trying to find solve-issue..."
|
||||
find / -name "solve-issue" -type f 2>/dev/null | head -5
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Запускаем решатель
|
||||
solve-issue
|
||||
echo "✅ solve-issue found at: $(which solve-issue)"
|
||||
echo "📋 Command info:"
|
||||
solve-issue --help || echo "No help available"
|
||||
|
||||
echo "🚀 Executing solve-issue..."
|
||||
# Запускаем с таймаутом на случай зависания
|
||||
timeout 600 solve-issue
|
||||
|
||||
EXIT_CODE=$?
|
||||
if [ $EXIT_CODE -eq 0 ]; then
|
||||
echo "✅ solve-issue completed successfully"
|
||||
elif [ $EXIT_CODE -eq 124 ]; then
|
||||
echo "⏰ solve-issue timed out after 10 minutes"
|
||||
exit 1
|
||||
else
|
||||
echo "❌ solve-issue failed with exit code: $EXIT_CODE"
|
||||
exit $EXIT_CODE
|
||||
fi
|
||||
|
||||
echo "=== AI Issue Solver finished ==="
|
||||
Reference in New Issue
Block a user