Compare commits

..

6 Commits

Author SHA1 Message Date
51a80ccb6f fix
All checks were successful
Bun CI/CD / test (push) Successful in 9s
Bun CI/CD / deploy-staging (push) Has been skipped
Bun CI/CD / deploy-prod (push) Successful in 1s
2026-01-03 21:15:45 +03:00
ef0a082d18 message
All checks were successful
Bun CI/CD / test (push) Successful in 9s
Bun CI/CD / deploy-staging (push) Has been skipped
Bun CI/CD / deploy-prod (push) Successful in 1s
2026-01-03 21:12:18 +03:00
e343d27001 chore: another shot
All checks were successful
Bun CI/CD / test (push) Successful in 8s
Bun CI/CD / deploy-staging (push) Has been skipped
Bun CI/CD / deploy-prod (push) Successful in 1s
2026-01-03 21:07:07 +03:00
4912f9a9b1 chore: deepsek ftw
All checks were successful
Bun CI/CD / test (push) Successful in 9s
Bun CI/CD / deploy-staging (push) Has been skipped
Bun CI/CD / deploy-prod (push) Successful in 1s
2026-01-03 21:05:54 +03:00
d47522543d chore: fix solver
All checks were successful
Bun CI/CD / test (push) Successful in 8s
Bun CI/CD / deploy-staging (push) Has been skipped
Bun CI/CD / deploy-prod (push) Successful in 1s
2026-01-03 21:03:27 +03:00
dff87b6c7a chore: update solver
All checks were successful
Bun CI/CD / test (push) Successful in 18s
Bun CI/CD / deploy-staging (push) Has been skipped
Bun CI/CD / deploy-prod (push) Successful in 0s
2026-01-03 20:58:20 +03:00

View File

@@ -2,19 +2,106 @@
name: AI Issue Solver
on:
# Ручной запуск
workflow_dispatch:
inputs:
issue_number:
description: 'Issue number to solve'
required: true
type: number
# Автоматический запуск по метке
issues:
types: [labeled]
jobs:
solve:
if: github.event.label.name == 'ai-solve'
# Запускать при ручном триггере ИЛИ при добавлении метки ai-solve
if: |
(gitea.event_name == 'workflow_dispatch') ||
(gitea.event_name == 'issues' && contains(gitea.event.labels.*.name, 'ai-solve'))
runs-on: opencode
steps:
- name: Debug environment
run: |
echo "=== Debug Info ==="
echo "Gitea context:"
echo "event_name: ${{ gitea.event_name }}"
echo "repository: ${{ gitea.repository }}"
echo "repository_owner: ${{ gitea.repository_owner }}"
echo "event.issue: ${{ toJSON(gitea.event.issue) }}"
echo "event.inputs: ${{ toJSON(gitea.event.inputs) }}"
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:
GITEA_URL: ${{ secrets.GITEA_URL }}
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
REPO_OWNER: ${{ github.repository_owner }}
REPO_NAME: ${{ github.event.repository.name }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
run: solve-issue
GGITEA_URL: ${{ secrets.GGITEA_URL }}
GGITEA_TOKEN: ${{ secrets.GGITEA_TOKEN }}
REPO_OWNER: ${{ gitea.repository_owner }}
REPO_NAME: ${{ gitea.repository }}
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"
# Проверяем наличие команды 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
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 ==="