Skip to content

fix(ci): keep E2E gate strip-types compatible#6823

Merged
cv merged 1 commit into
mainfrom
fix/e2e-gate-node-strip-types
Jul 14, 2026
Merged

fix(ci): keep E2E gate strip-types compatible#6823
cv merged 1 commit into
mainfrom
fix/e2e-gate-node-strip-types

Conversation

@prekshivyas

@prekshivyas prekshivyas commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • replace the unsupported TypeScript constructor parameter property in the PR E2E gate
  • add a regression that launches the controller with the exact node --experimental-strip-types runtime used by Actions

Why

Current main crashes every PR E2E gate during initialization with ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX, before it can evaluate the PR. This is visible on #6770, #6711, and #6672.

Validation

  • npx vitest run --project integration test/pr-e2e-gate-command.test.ts test/pr-e2e-gate-lifecycle.test.ts test/pr-e2e-gate-exceptions.test.ts test/pr-e2e-gate.test.ts test/pr-e2e-gate-workflow.test.ts (108 passed)
  • npm run build:cli
  • pre-commit and pre-push hooks

Summary by CodeRabbit

  • Bug Fixes
    • Improved validation for invalid end-to-end gate modes, including clearer error messaging and the correct failure status.
    • Prevented unsupported TypeScript syntax errors when running the gate command directly in Node’s experimental type-stripping mode.

@prekshivyas prekshivyas self-assigned this Jul 14, 2026
@prekshivyas prekshivyas requested a review from cjagwani July 14, 2026 02:54
@prekshivyas

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

No new commits to review since the last review.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: ff226f7c-dc82-402a-adbf-090a25114110

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The PR updates ObsoleteExactDiffError to use an explicit readonly field and adds runtime coverage for invalid PR E2E gate modes under Node’s --experimental-strip-types option.

Changes

PR gate runtime compatibility

Layer / File(s) Summary
Gate script compatibility and runtime validation
tools/e2e/pr-e2e-gate.mts, test/pr-e2e-gate-command.test.ts
ObsoleteExactDiffError explicitly assigns its readonly verdict field, and the test spawns the gate script with Node’s type-stripping mode to verify invalid-mode exit status and stderr output.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested labels: bug-fix

Suggested reviewers: cv

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: making the E2E gate compatible with Node strip-types in CI.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/e2e-gate-node-strip-types

Comment @coderabbitai help to get the list of available commands.

@github-code-quality

github-code-quality Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage remains at 96%, unchanged from the branch.

TypeScript / code-coverage/cli

The overall coverage in the branch remains at 79%, unchanged from the branch.

Show a code coverage summary of the most impacted files.
File 73c3791 f78522d +/-
src/lib/actions...ge-preflight.ts 89% 74% -15%
src/lib/core/pr...mpt-activity.ts 67% 92% +25%

Updated July 14, 2026 03:45 UTC
Code Coverage is in Public Preview. Learn more and provide us with your feedback.

@prekshivyas

Copy link
Copy Markdown
Contributor Author

@cjagwani @ericksoa this is a control-plane deadlock in current main: the required E2E gate executes the broken base revision, so #6823 cannot make its own gate green before merge. The exact Actions command is covered by the new regression, and all 108 gate tests pass. This needs independent review plus a maintainer/admin merge bypass for the already-broken gate check.

@github-actions

github-actions Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — Informational

Advisor assessment: Informational / high confidence
Primary next action: No advisor follow-up required beyond maintainer review.
Findings: 0 blockers · 0 warnings · 0 optional suggestions
Status: No actionable findings remain in the canonical review ledger.

Model lanes

  • GPT-5.6 Terra (primary): Completed · high confidence · 0 blockers · 0 warnings · 0 suggestions
  • Nemotron 3 Ultra (non-blocking second opinion): Completed · high confidence · 0 blockers · 0 warnings · 0 suggestions
  • Model comparison: normalized findings match; normalized E2E selections differ; severity counts match.

Nemotron is a non-blocking second opinion. Its prose, findings, and E2E guidance do not change the primary assessment above and remain in workflow artifacts only.

Since last review: 0 prior items resolved · 0 still apply · 0 new items found

E2E guidance

Advisory only: coverage and selector recommendations are non-authoritative. E2E / PR Gate independently computes and dispatches trusted jobs without consuming this output.

Recommended coverage: cloud-onboard, credential-sanitization, security-posture
Recommended selectors: cloud-onboard, credential-sanitization, security-posture

  • cloud-onboard — Selected from the trusted checked-in E2E coverage inventory.

  • credential-sanitization — Selected from the trusted checked-in E2E coverage inventory.

  • security-posture — Selected from the trusted checked-in E2E coverage inventory.

  • cloud-onboard — Selected as a trusted checked-in E2E job.

  • credential-sanitization — Selected as a trusted checked-in E2E job.

  • security-posture — Selected as a trusted checked-in E2E job.

Workflow run details

This is an automated, non-authoritative review. Findings are inputs to maintainer adjudication. Warnings and optional suggestions do not require a response or follow-up. A human maintainer makes the final merge decision.

@prekshivyas prekshivyas requested a review from ericksoa July 14, 2026 03:29
@prekshivyas

Copy link
Copy Markdown
Contributor Author

Closing — ObsoleteExactDiffError with the constructor parameter property no longer exists on main (removed in a subsequent refactor). The crash this fixed is already gone.

@prekshivyas prekshivyas reopened this Jul 14, 2026
@prekshivyas

Copy link
Copy Markdown
Contributor Author

Correction: the preceding closure reason was incorrect. The current main blob at 73c3791be8cb26530adcdddc60ea7cf5360ee5b2 still contains constructor(readonly verdict: PrGateVerdict) at tools/e2e/pr-e2e-gate.mts:225, and exact gate runs still fail under node --experimental-strip-types. Reopened; the control-plane deadlock and requested admin bypass remain.

@prekshivyas prekshivyas requested a review from cv July 14, 2026 03:38
@prekshivyas

Copy link
Copy Markdown
Contributor Author

@cv added as an admin reviewer because the required gate executes the broken base revision and cannot self-heal. Exact fix is two production lines plus the runtime regression; all standard CI, both Advisors (0/0/0), CodeRabbit, and 108 focused gate tests are green. An admin merge bypass is required only for the already-broken gate check.

@cv cv merged commit 7b13829 into main Jul 14, 2026
134 of 139 checks passed
@cv cv deleted the fix/e2e-gate-node-strip-types branch July 14, 2026 03:48
@github-actions github-actions Bot added the v0.0.82 Release target label Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v0.0.82 Release target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants