name: Multi-MDX Regression (IMP-91) # IMP-#91 u13 — auto-gate the mdx 01-05 acceptance set on every push to main # and on PRs targeting main. Failure of any integration test blocks the # commit. JSON report is emitted via pytest-json-report (u12 dep) and # uploaded as an artifact for u14/u15 status-board updater consumption. # # [[feedback_validation_first_for_closed_issues]] — fresh subprocess per CI run. # [[feedback_auto_pipeline_first]] — no manual review queue; deterministic gate. on: push: branches: [main] pull_request: branches: [main] jobs: multi-mdx-regression: runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python 3.11 uses: actions/setup-python@v5 with: python-version: "3.11" cache: pip - name: Install Chrome and ChromeDriver uses: browser-actions/setup-chrome@v1 with: install-chromedriver: true - name: Install project (dev extras + selenium) run: | python -m pip install --upgrade pip python -m pip install -e ".[dev]" python -m pip install "selenium>=4.20" - name: Run multi-mdx regression tests run: | python -m pytest -q -m integration \ tests/integration/test_multi_mdx_regression.py \ --json-report \ --json-report-file=imp91-report.json \ --json-report-omit keywords streams - name: Upload pytest JSON report if: always() uses: actions/upload-artifact@v4 with: name: imp91-multi-mdx-report path: imp91-report.json if-no-files-found: warn - name: Update status-board markers (IMP-91 u15) if: always() run: | python scripts/update_status_board.py \ --report imp91-report.json \ --board docs/architecture/PHASE-Z-PIPELINE-STATUS-BOARD.md - name: Upload updated status board if: always() uses: actions/upload-artifact@v4 with: name: imp91-status-board path: docs/architecture/PHASE-Z-PIPELINE-STATUS-BOARD.md if-no-files-found: warn