Skip to content

fix(ci): resolve Validate AI Model Registry workflow failures and CI stability - #92

Merged
SagiEv merged 11 commits into
mainfrom
bugfix/general
Nov 2, 2026
Merged

SagiEv merged 11 commits into
mainfrom
bugfix/general

Conversation

@SagiEv

@SagiEv SagiEv commented Nov 2, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes failures in the Validate AI Model Registry GitHub Actions workflow (validate-models.yml) and stabilizes the CI/E2E test suite on bugfix/general.

Root Causes & Fixes

  1. ModuleNotFoundError: No module named 'langchain_core' in Run Model Validation

    • Cause: scripts/validate_models.py imported from providers.model_registry import MODEL_REGISTRY, which executed providers/__init__.py and eagerly imported all four LLM provider classes (GroqProvider, OpenAIProvider, ClaudeProvider, GeminiProvider) and their langchain_core dependencies in a lightweight CI job that only installs requests.
    • Fix: Refactored backend/ai_service/providers/__init__.py to use PEP 562 lazy attribute loading (__getattr__), decoupling providers.model_registry from langchain_* imports while maintaining full backward compatibility.
  2. HttpError: Resource not accessible by integration (403) in Create Issue on Stale Models

    • Cause: .github/workflows/validate-models.yml lacked an explicit permissions block, so the default GITHUB_TOKEN could not create issues via actions/github-script@v7.
    • Fix: Added permissions: contents: read and issues: write to .github/workflows/validate-models.yml.
  3. Additional Branch Fixes (bugfix/general)

    • Added missing Supabase database migrations and aligned E2E/unit test matchers (ProfilePage, mail integration).
    • Added agent validation and code-review skills.

Verification

  • Verified python scripts/validate_models.py --ci runs and passes without langchain_core installed.
  • Verified live model registry against configured Groq and Gemini provider APIs (0 stale models).
  • Verified pytest tests/test_llm_router.py (5/5 passed).

@vercel

vercel Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
job-pilot Ready Ready Preview Nov 2, 2026 11:24pm UTC

@SagiEv

SagiEv commented Nov 2, 2026 •

Copy link
Copy Markdown
Owner Author

e2e test failed

Root Cause (Tier 1: Frontend E2E Tests)

  • In DashboardPage.jsx, upcomingInterviews filters out interviews in the past (new Date(e.date) >= new Date(new Date().setHours(0,0,0,0))).
  • frontend/tests/e2e/applications.spec.js previously hardcoded '2026-10-10T10:00', which is now in the past (current date is Nov 2026), so the newly created 'Final Round' interview was filtered out of the Upcoming Interviews list.

Fix Applied & Committed (3e6f032)

Updated frontend/tests/e2e/applications.spec.js to generate a dynamic date 7 days in the future (new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString().slice(0, 16)) and committed the change to bugfix/general. You can now git push to re-run the workflow.

@SagiEv
SagiEv merged commit 4418618 into main Nov 2, 2026
6 checks passed

This branch was successfully deployed

1 active deployment
Preview — 5b7c2093 Deployed Nov 2, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant