Skip to content

Fix EasyCLA new backend outage#5037

Merged
lukaszgryglicki merged 5 commits into
mainfrom
unicron-fix-easycla-outage
May 11, 2026
Merged

Fix EasyCLA new backend outage#5037
lukaszgryglicki merged 5 commits into
mainfrom
unicron-fix-easycla-outage

Conversation

@lukaszgryglicki
Copy link
Copy Markdown
Member

Fixes prod outage (which is already reverted, but we want to retry porting py->go).

@lukaszgryglicki lukaszgryglicki self-assigned this May 7, 2026
Copilot AI review requested due to automatic review settings May 7, 2026 17:20
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 7, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0949bcb0-90d6-4385-abaf-cb3469f1c87b

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch unicron-fix-easycla-outage

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR addresses a production outage/regression during the Python→Go port by (1) preventing DynamoDB type coercion bugs caused by InterfaceMapToItem’s numeric-string heuristic and (2) fixing GitHub org-based approval checks to use a permissions-safe endpoint that matches the legacy Python behavior.

Changes:

  • Avoid InterfaceMapToItem round-trips for project create/update by constructing and patching DynamoDB AttributeValue maps directly.
  • Avoid InterfaceMapToItem round-trips in the legacy GitHub OAuth “get-or-create user” path; preserve the pre-cutover JSON wire shape for user_github_id.
  • Fix CCLA org-approval logic to check a user’s public org memberships via GET /users/<user>/orgs instead of an endpoint that commonly returns 403 for customer orgs.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
cla-backend-legacy/internal/api/handlers.go Builds/patches DynamoDB items directly for project create/update to prevent numeric-string coercion of string fields.
cla-backend-legacy/internal/api/github_oauth.go Updates user create/update to operate on raw DynamoDB AttributeValue maps and preserves legacy user_github_id response type.
cla-backend-go/signatures/service.go Fixes org approval checks to use public org listing, preventing false negatives caused by 403s on membership endpoints.
cla-backend-go/github/github_org.go Adds ListUserPublicOrgs helper to list a user’s publicly visible org memberships using the legacy-compatible endpoint.

Comment thread cla-backend-go/signatures/service.go
ahmedomosanya
ahmedomosanya previously approved these changes May 7, 2026
@mlehotskylf
Copy link
Copy Markdown
Collaborator

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

🤖 Generated with Claude Code

mlehotskylf
mlehotskylf previously approved these changes May 7, 2026
Signed-off-by: Lukasz Gryglicki <lgryglicki@cncf.io>

Assisted by [OpenAI](https://platform.openai.com/)

Assisted by [GitHub Copilot](https://github.com/features/copilot)
Copilot AI review requested due to automatic review settings May 9, 2026 13:27
@lukaszgryglicki lukaszgryglicki dismissed stale reviews from mlehotskylf and ahmedomosanya via 1000d46 May 9, 2026 13:27
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.

Comment thread cla-backend-legacy/internal/api/handlers_project_test.go
Comment thread cla-backend-go/github/github_repository.go
Comment thread cla-backend-go/github/github_repository.go
Comment thread .yarn-audit-allowlist.json
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Comment thread cla-backend-legacy/internal/api/handlers_project_test.go
Comment thread cla-backend-go/github/github_org.go Outdated
Signed-off-by: Lukasz Gryglicki <lgryglicki@cncf.io>

Assisted by [OpenAI](https://platform.openai.com/)

Assisted by [GitHub Copilot](https://github.com/features/copilot)
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Comment thread cla-backend-legacy/internal/api/handlers_project_test.go
Comment thread .yarn-audit-allowlist.json
Signed-off-by: Lukasz Gryglicki <lgryglicki@cncf.io>

Assisted by [OpenAI](https://platform.openai.com/)

Assisted by [GitHub Copilot](https://github.com/features/copilot)
@lukaszgryglicki lukaszgryglicki merged commit 2da6b27 into main May 11, 2026
12 checks passed
@lukaszgryglicki lukaszgryglicki deleted the unicron-fix-easycla-outage branch May 11, 2026 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants