From 853ed77083e34909dd198bc6f951e046e9690b25 Mon Sep 17 00:00:00 2001 From: Untone Date: Sat, 27 Sep 2025 13:28:51 +0300 Subject: [PATCH] ci-diagnostic --- .gitea/workflows/main.yml | 64 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/.gitea/workflows/main.yml b/.gitea/workflows/main.yml index f565eb91..aec8bf6d 100644 --- a/.gitea/workflows/main.yml +++ b/.gitea/workflows/main.yml @@ -100,6 +100,70 @@ jobs: echo "✅ Диагностика завершена" + - name: Debug GraphQL Codegen Issue + run: | + echo "🔍 Детальная диагностика GraphQL codegen..." + + # Проверяем что именно происходит с codegen + echo "📝 Запускаем GraphQL codegen с подробным выводом..." + npm run codegen 2>&1 | tee codegen.log || { + echo "❌ GraphQL codegen упал, анализируем ошибку..." + echo "📋 Полный лог ошибки:" + cat codegen.log + + # Проверяем версии + echo "📦 Версии пакетов:" + npm list @graphql-codegen/cli @graphql-codegen/client-preset graphql + + # Проверяем Node.js окружение + echo "🔧 Node.js окружение:" + node --version + npm --version + echo "NODE_ENV: $NODE_ENV" + echo "CI: $CI" + + # Пробуем introspection запрос как делает codegen + echo "🧪 Тестируем GraphQL introspection через Node.js:" + node -e " + const https = require('https'); + const introspectionQuery = '{__schema{types{name}}}'; + const data = JSON.stringify({query: introspectionQuery}); + const options = { + hostname: 'v3.dscrs.site', + port: 443, + path: '/graphql', + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Content-Length': data.length, + 'User-Agent': 'GraphQL-Codegen', + 'Accept': 'application/json' + }, + timeout: 30000 + }; + const req = https.request(options, (res) => { + console.log('Status:', res.statusCode); + console.log('Headers:', res.headers); + let body = ''; + res.on('data', (d) => body += d.toString()); + res.on('end', () => { + console.log('Response length:', body.length); + if (body.length < 1000) { + console.log('Response:', body); + } else { + console.log('Response preview:', body.substring(0, 500) + '...'); + } + }); + }); + req.on('error', (e) => console.error('Error:', e)); + req.on('timeout', () => console.error('Timeout!')); + req.write(data); + req.end(); + " + + exit 1 + } + - name: Build Frontend env: CI: "true" # 🚨 Указываем что это CI сборка для codegen