Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 27, 2025

  • Explore repository structure and understand current CLA check implementation
  • Modify .github/workflows/cla.yml to pass PR author username as environment variable
  • Update scripts/check_cla.py to fetch get-convex organization members
  • Implement logic to skip validation for organization members
  • Add error handling for failed API requests
  • Test the updated implementation
  • Fix missing import identified in code review
  • Address code review feedback on import organization and error handling
  • Run final security check (no vulnerabilities found)
  • Complete comprehensive testing
  • Address PR feedback: add emojis to output messages
  • Error instead of warn when PR_AUTHOR is missing
  • Update message to include "employee/contractor"
  • Return False for 404 responses to avoid warnings for non-members
Original prompt

This section details on the original issue you should resolve

<issue_title>Modify scripts/check_cla.py to ignore members of the get-convex GitHub organization</issue_title>
<issue_description>https://github.com/get-convex/convex-helpers/blob/main/.github/workflows/cla.yml calls https://github.com/get-convex/convex-helpers/blob/main/scripts/check_cla.py.

It’s not required to do this check for members of the get-convex GitHub organization. To fix this:

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 3 commits October 27, 2025 20:18
Co-authored-by: Nicolapps <7029582+Nicolapps@users.noreply.github.com>
Co-authored-by: Nicolapps <7029582+Nicolapps@users.noreply.github.com>
… 404 handling

Co-authored-by: Nicolapps <7029582+Nicolapps@users.noreply.github.com>
Copilot AI changed the title [WIP] Modify check_cla.py to ignore get-convex organization members Skip CLA check for get-convex organization members Oct 27, 2025
Copilot AI requested a review from Nicolapps October 27, 2025 20:24
Copilot finished work on behalf of Nicolapps October 27, 2025 20:24
elif member_status is None:
print(f"Warning: Could not verify organization membership for {PR_AUTHOR}. Proceeding with CLA check.")
else:
print("Warning: PR_AUTHOR environment variable not set. Proceeding with CLA check.")
Copy link
Member

Choose a reason for hiding this comment

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

If PR_AUTHOR is not set, we should throw an error here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done in fe085e7. The script now exits with an error if PR_AUTHOR is not set.

)
sys.exit(1)

print("CLA text found in PR description")
Copy link
Member

Choose a reason for hiding this comment

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

Can you please add emojis to the output? e.g. ✅, ❌

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done in fe085e7. Added emojis throughout: ✅ for success, ❌ for errors, and ⚠️ for warnings.

member_status = is_org_member(PR_AUTHOR, GITHUB_TOKEN)

if member_status is True:
print(f"Skipping CLA check: {PR_AUTHOR} is a member of the {ORGANIZATION} organization (Convex employee)")
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
print(f"Skipping CLA check: {PR_AUTHOR} is a member of the {ORGANIZATION} organization (Convex employee)")
print(f"Skipping CLA check: {PR_AUTHOR} is a member of the {ORGANIZATION} organization (Convex employee/contractor)")

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done in fe085e7. Updated the message to include "Convex employee/contractor".

@Nicolapps
Copy link
Member

@copilot Address the comments

…mployee text

Co-authored-by: Nicolapps <7029582+Nicolapps@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Oct 27, 2025

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/orgs/get-convex/members/external-contributor
    • Triggering command: python3 /home/REDACTED/work/convex-helpers/convex-helpers/scripts/check_cla.py (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from Nicolapps October 27, 2025 20:52
Copilot finished work on behalf of Nicolapps October 27, 2025 20:52
except urllib.error.HTTPError as e:
if e.code == 404:
# Cannot determine membership - could be private or user is not a member
return None
Copy link
Member

Choose a reason for hiding this comment

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

@copilot Shouldn’t this be False? I don't want a warning in that case

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed in 695ee7c. Now returns False for 404 responses (non-members) so no warning is shown. Only None (API failures like 403, network errors) triggers the warning message.

…members

Co-authored-by: Nicolapps <7029582+Nicolapps@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Oct 27, 2025

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/orgs/get-convex/members/definitely-not-a-member-12345
    • Triggering command: python3 /home/REDACTED/work/convex-helpers/convex-helpers/scripts/check_cla.py (http block)
    • Triggering command: python3 /tmp/debug_api.py (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from Nicolapps October 27, 2025 20:57
Copilot finished work on behalf of Nicolapps October 27, 2025 20:57
@Nicolapps Nicolapps marked this pull request as ready for review October 27, 2025 20:58
@Nicolapps Nicolapps merged commit 3a0cf08 into main Oct 27, 2025
3 checks passed
@Nicolapps Nicolapps deleted the copilot/modify-check-cla-ignore-members branch October 27, 2025 20:59
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.

Modify scripts/check_cla.py to ignore members of the get-convex GitHub organization

2 participants