Skip to content

ci: isolate integration orchestration and external approval - #2553

Open
miguelg719 wants to merge 4 commits into
codex/v4-integration-parityfrom
codex/v4-external-ci-approval
Open

ci: isolate integration orchestration and external approval#2553
miguelg719 wants to merge 4 commits into
codex/v4-integration-parityfrom
codex/v4-external-ci-approval

Conversation

@miguelg719

@miguelg719 miguelg719 commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator

Sibling of #2555 and stacked directly on #2551. This PR contains only the ci.yml orchestration and external-contributor execution policy.

CI orchestration

Security issue

Expanding SDK path coverage would let an external SDK-only PR fan out jobs that v4-spike did not previously run. A persistent approval label must not allow a later, unreviewed fork commit to inherit approval.

Security posture after this PR

  • direct fork pull_request events do not check out or execute repository code
  • maintainer approval is bound to the exact reviewed SHA through the existing organization-owned mirror flow
  • workflow_dispatch lets that approved internal mirror run this workflow
  • persistent label state is not part of the execution decision

Divergence from v4-spike and main

v4-spike currently permits ordinary direct-fork CI and gates only selected expensive jobs; this PR is stricter and blocks all repository-code execution from direct fork heads.

Main records the approved SHA and mirrors it to an internal PR, but its Tests workflow only gates secret-bearing E2E jobs with is_internal_head. Ordinary build and lint may still run on forks subject to GitHub repository approval settings. This proposal is therefore intentionally stricter than main.

Rollout constraint

The existing approval handoff lives on main and currently creates mirror PRs against main. Consequently this consumer-side change is complete when the v4 stack lands on main; if it is merged into a long-lived v4-spike first, external PRs targeting v4-spike will remain blocked rather than bypassing approval. Supporting approved external PRs directly against v4-spike requires a separate handoff-policy change.

Validation

  • actionlint -ignore SC2046 .github/workflows/ci.yml
  • oxfmt --check .github/workflows/ci.yml
  • integration discovery emits ten valid groups
  • git diff --check

Stack

Runtime path: #2551#2555#2556#2557

CI/security sibling: #2551#2553

@changeset-bot

changeset-bot Bot commented Aug 1, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: d75dd71

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@miguelg719
miguelg719 force-pushed the codex/v4-external-ci-approval branch 2 times, most recently from ceb700b to ca0bc50 Compare August 1, 2026 17:21
@miguelg719 miguelg719 changed the title fix(ci): bind external approval to the reviewed commit ci: isolate integration orchestration and external approval Aug 1, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed against the latest diff

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread .github/workflows/ci.yml
@miguelg719
miguelg719 force-pushed the codex/v4-external-ci-approval branch from ca0bc50 to 9b21e6f Compare August 1, 2026 17:34
@miguelg719
miguelg719 force-pushed the codex/v4-integration-parity branch from b8eb13c to 457e142 Compare August 3, 2026 05:16
@miguelg719
miguelg719 force-pushed the codex/v4-external-ci-approval branch 3 times, most recently from d2374d1 to 917d1f7 Compare August 3, 2026 05:21
@miguelg719
miguelg719 force-pushed the codex/v4-integration-parity branch from 6bfd3a9 to 3d906c8 Compare August 3, 2026 20:19
@miguelg719
miguelg719 force-pushed the codex/v4-external-ci-approval branch from 917d1f7 to 71d7394 Compare August 3, 2026 20:19
miguelg719 added a commit that referenced this pull request Aug 4, 2026
## Summary

- port 23 public-SDK integration specs from main, growing the v4 suite
from 5 to 28 files
- adapt legacy cases to hermetic v4 fixtures and public APIs
- define ten stable local semantic groups with complete, unique test
ownership
- leave FlowLogger coverage retired because FlowLogger is absent from
both v4 implementations

## Scope boundary

This PR is mechanical test transfer only. It has no packages/server
production changes, generated extension update, or .github/workflows
diff from v4-spike.

Three transferred specs that expose runtime gaps travel with their
standalone fixes:
- operation timeouts: #2555
- well-formed snapshot Unicode: #2556
- locator screenshot masks: #2557

Together the stack grows the suite to 31 files. CI orchestration and
external-contributor approval policy remain isolated in #2553.

The remaining main integration specs are not silently omitted:
Agent/streaming/cache cases require the v4 Agent surface;
Browserbase/CDP lifecycle, downloads, OOPIF, and connection cases
require dedicated browser infrastructure; logger and FlowLogger cases
target lifecycle code removed from v4.

## Verification

- integration discovery and ownership tests: 12 passed
- focused default-page and screenshot-adjacent integration run: 9 passed
before extraction
- GitHub semantic matrix is the authoritative full-suite validation
after this history rewrite

## Review order

#2551#2555#2556#2557#2553
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants