Skip to content

ci: run the existing pytest + node:test suites in CI (currently only catalog parity gates main) #174

@jravinder

Description

@jravinder

Problem

.github/workflows/ci.yml only runs tests/test_catalog_parity.py. Everything else is dark to CI:

  • 11 Python pytest files: test_planner.py, test_doom_loop.py, test_miro.py, test_replan_recovery.py, test_homepage_data.py, test_run_archive*.py, test_report_builder.py, test_dataset_scout.py, test_mcp_*.py, test_skill_doc.py
  • 9 node:test .mjs smokes: e2e_pages_smoke, e2e_admin_smoke, e2e_agent_smoke, e2e_reports_smoke, e2e_nav_consistency, specialists_smoke, doom_loop_ts_smoke, run_archive_ts_smoke, run_archive_ts_extended

Recent fixes (#171 miro regression, #172 catalog parity, #173 cron headroom) all shipped with new tests — none of those new tests except parity actually run on PR. The next regression in planner.py / doomLoop.ts / run-archive.ts will land green and only surface in production.

Fix

Two new CI jobs in .github/workflows/ci.yml:

  1. pytest-fast — install requirements.txt + pytest, run the offline-safe Python suite (everything except test_e2e_orchestrator.py, which needs a live server). Gate OPENAI_API_KEY-using tests behind a pytest.mark.live marker and skip in CI.
  2. node-test-fastnpm ci + node --test tests/doom_loop_ts_smoke.mjs tests/run_archive_ts_*.mjs (the unit-y .mjs files that don't need a running server). The e2e_* smokes need a live next start and can wait for a follow-up.

Also add "test": "node --test tests/*_smoke.mjs" to package.json so contributors can run them locally.

Code pointers

  • .github/workflows/ci.yml:1-40 — current 3-job pipeline
  • package.json:5-9 — scripts block has no test entry
  • tests/ — full test inventory

Acceptance

  • pytest-fast job green on PR, exercising ≥9 of the 11 pytest files
  • node-test-fast job green on PR, exercising ≥3 of the .mjs unit smokes
  • npm test works locally
  • A deliberately-broken planner.py change fails the new pytest-fast job

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:infraDeploy, CI, secrets, envauto-research:2026-05-16Filed by auto-research skill on 2026-05-16enhancementNew feature or requestfleet:readyInternal fleet queue — for pickup-next

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions