From bd54d900aa6c7d951ec7716e35c2f13b96753ba2 Mon Sep 17 00:00:00 2001 From: Untone Date: Sat, 27 Sep 2025 13:56:10 +0300 Subject: [PATCH] separate-codegen-fix2 --- .gitea/workflows/main.yml | 40 ++++++++++++++++++++++++++++++++++++--- codegen.ts | 7 ++----- 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/main.yml b/.gitea/workflows/main.yml index 8b230fac..6bed4df1 100644 --- a/.gitea/workflows/main.yml +++ b/.gitea/workflows/main.yml @@ -86,11 +86,45 @@ jobs: run: | echo "🏗️ Начинаем сборку фронтенда..." - # Запускаем codegen один раз + # Запускаем codegen с fallback логикой echo "📝 Запускаем GraphQL codegen..." - npm run codegen + npm run codegen 2>&1 || { + echo "❌ GraphQL codegen упал с v3.dscrs.site! Пробуем fallback..." + + # Проверяем доступность endpoints + echo "🌐 Проверяем доступность GraphQL endpoints:" + V3_STATUS=$(curl -s -o /dev/null -w "%{http_code}" \ + -H "Content-Type: application/json" \ + -d '{"query":"query{__typename}"}' \ + https://v3.dscrs.site/graphql 2>/dev/null || echo "000") + echo "v3.dscrs.site: $V3_STATUS" + + CORETEST_STATUS=$(curl -s -o /dev/null -w "%{http_code}" \ + -H "Content-Type: application/json" \ + -d '{"query":"query{__typename}"}' \ + https://coretest.discours.io/graphql 2>/dev/null || echo "000") + echo "coretest.discours.io: $CORETEST_STATUS" + + # Если coretest доступен, пробуем его + if [ "$CORETEST_STATUS" = "200" ]; then + echo "🔄 Переключаемся на coretest.discours.io..." + # Временно меняем схему в codegen.ts + sed -i "s|https://v3.dscrs.site/graphql|https://coretest.discours.io/graphql|g" codegen.ts + npm run codegen || { + echo "❌ Fallback тоже не сработал!" + # Восстанавливаем оригинальную схему + sed -i "s|https://coretest.discours.io/graphql|https://v3.dscrs.site/graphql|g" codegen.ts + exit 1 + } + # Восстанавливаем оригинальную схему + sed -i "s|https://coretest.discours.io/graphql|https://v3.dscrs.site/graphql|g" codegen.ts + else + echo "❌ Оба endpoint недоступны!" + exit 1 + fi + } - echo "🔨 Запускаем Vite build (без повторного codegen)..." + echo "🔨 Запускаем Vite build..." npx vite build - name: Setup Playwright (use pre-installed browsers) diff --git a/codegen.ts b/codegen.ts index 4203e211..512a9fa5 100644 --- a/codegen.ts +++ b/codegen.ts @@ -2,11 +2,8 @@ import type { CodegenConfig } from '@graphql-codegen/cli' const config: CodegenConfig = { overwrite: true, - // Адаптивный выбор источника схемы - schema: [ - 'https://coretest.discours.io/graphql', - 'https://v3.dscrs.site/graphql' - ], + // Используем основной endpoint с fallback логикой + schema: 'https://v3.dscrs.site/graphql', documents: ['panel/graphql/queries/**/*.ts', 'panel/**/*.{ts,tsx}', '!panel/graphql/generated/**'], generates: { './panel/graphql/generated/introspection.json': {