Skip to content

[comp] Production Deploy#2570

Merged
tofikwest merged 4 commits into
releasefrom
main
Apr 16, 2026
Merged

[comp] Production Deploy#2570
tofikwest merged 4 commits into
releasefrom
main

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Apr 16, 2026

This is an automated pull request to release the candidate branch into production, which will trigger a deployment.
It was created by the [Production PR] action.


Summary by cubic

Scopes the GitHub 2FA check to organizations that own the repositories selected in the integration and improves how permission errors are reported. Removes noisy findings from unrelated orgs and surfaces misconfigurations when a selected repo belongs to an unowned org (Fixes CS-259).

  • Bug Fixes
    • Use targetReposVariable + parseRepoBranches to derive orgs from target_repos; stop calling /user/orgs.
    • When no repos are selected, emit a low-severity fail with guidance to select repositories.
    • On 422 (owner-only 2FA filter), emit a fail with remediation to reconnect as an org owner or remove those repos; keep targeted messages for SAML SSO and rate limits.

Written for commit 75630e2. Summary will update on new commits.

github-actions Bot and others added 4 commits April 16, 2026 03:37
When the connected GitHub user belongs to orgs they don't own,
the 2FA filter returns a 422. Previously this surfaced as a
'Cannot verify 2FA' finding, which confused customers seeing
unrelated orgs in their results (e.g. eighteenlabs seeing
sisoputnfrba and dds-utn).

Now we silently skip these orgs with a log message instead of
emitting a fail finding. The /user/orgs fetch is preserved as-is
to ensure all relevant orgs are discovered.

Fixes CS-259
The 2FA check was iterating every org returned by /user/orgs, which
included orgs the connected user happened to belong to but the customer
never selected. eighteenlabs saw findings for sisoputnfrba and dds-utn
(personal orgs of the connecting account) alongside their own org.

Derive the orgs to check from ctx.variables.target_repos instead — the
same selection the user already configures in the integration UI. Drop
the /user/orgs call entirely. The user-selected list is already filtered
to Organization-owned repos by targetReposVariable.fetchOptions.

Reverts the silent 422 skip from b5f9f3d: now that the org list comes
from explicit user selection, a 422 means the customer selected a repo
in an org they don't own — that's a real misconfiguration and should
surface as a finding.

Fixes CS-259

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fix(github): scope 2FA check to selected repos' orgs only
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 16, 2026

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

Project Deployment Actions Updated (UTC)
app (staging) Ready Ready Preview, Comment Apr 16, 2026 6:33pm
comp-framework-editor Ready Ready Preview, Comment Apr 16, 2026 6:33pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
portal (staging) Skipped Skipped Apr 16, 2026 6:33pm

Request Review

@linear
Copy link
Copy Markdown

linear Bot commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

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

Choose a reason for hiding this comment

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

No issues found across 1 file

Requires human review: This PR modifies the business logic of a security check (GitHub 2FA enforcement) and changes how organizations are identified and validated, which warrants human review.

@tofikwest tofikwest merged commit 616590f into release Apr 16, 2026
14 checks passed
@claudfuen
Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.22.4 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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