Skip to content

Ultralytics CLA Action#252

Open
glenn-jocher wants to merge 53 commits intomainfrom
cla-branch
Open

Ultralytics CLA Action#252
glenn-jocher wants to merge 53 commits intomainfrom
cla-branch

Conversation

@glenn-jocher
Copy link
Member

@glenn-jocher glenn-jocher commented Oct 20, 2024

🛠️ PR Summary

Made with ❤️ by Ultralytics Actions

🌟 Summary

This PR introduces a new GitHub action to ensure contributors have signed the Ultralytics Contributor License Agreement (CLA). 🚀

📊 Key Changes

  • Added a new action.yml file for the Ultralytics CLA GitHub Action.
  • Configurations include inputs, such as GitHub token, organization, repository, and branch name for storing CLA signatures.
  • Defined defaults for CLA signature storage and document URL.
  • Included steps for code checkout, Python setup, dependency installation, and CLA verification.

🎯 Purpose & Impact

  • Purpose: Automate the verification of contributor license agreements, ensuring compliance and legal protection for the project and its contributors.
  • Impact: Enhances workflow efficiency by automatically checking if all contributors have signed the CLA, reducing administrative overhead and potential legal complications. ✅

@UltralyticsAssistant UltralyticsAssistant added the enhancement New feature or request label Oct 20, 2024
@UltralyticsAssistant
Copy link
Member

👋 Hello @glenn-jocher, thank you for your Ultralytics CLA Action 🚀 PR! This is an automated response to help streamline your contribution process. An Ultralytics engineer will review your PR shortly. In the meantime, please make sure you check off the following items:

  • Clearly State Your Purpose: Define the purpose of this PR in your description, linking any related issues to provide context. Make sure your commit messages are descriptive and up to project standards.
  • Sync With Main Branch: Ensure your branch is up-to-date with ultralytics/actions' main branch. You can update it by selecting 'Update branch' or running git pull and git merge main locally.
  • Pass CI Checks: Verify all CI checks have passed. If not, please resolve any outstanding issues to ensure a smooth integration.
  • Documentation Update: Update the project documentation as needed if your PR includes new or modified features.
  • Testing: Incorporate any necessary tests and confirm they all pass successfully.
  • Sign the CLA: Make sure you've signed our Contributor License Agreement. If this is your first contribution, please write "I have read the CLA Document and I sign the CLA" as a new comment.
  • Minimal Essential Changes: Aim to keep changes minimal and directly relevant to the issue or feature. "Simplicity is the ultimate sophistication." — Leonardo da Vinci

For further information, consult our Contributing Guide. Feel free to add comments here if you have any questions or need further assistance. Thanks for enhancing Ultralytics with your contributions! 🚀✨

@codecov
Copy link

codecov bot commented May 10, 2025

Codecov Report

❌ Patch coverage is 0% with 13 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
actions/check_cla.py 0.00% 13 Missing ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Member

@UltralyticsAssistant UltralyticsAssistant left a comment

Choose a reason for hiding this comment

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

🔍 PR Review

Made with ❤️ by Ultralytics Actions

The new entrypoint never performs or enforces the CLA verification, so the action currently offers no protection. Please add the actual CLA validation logic before shipping this.

💬 Posted 1 inline comment

Comment on lines +8 to +23
print("RUNNING CHECK_CLA FUNCTION")
os.environ.get("GITHUB_TOKEN")
os.environ.get("CLA_REPOSITORY")
os.environ.get("CLA_BRANCH")
os.environ.get("CLA_SIGNATURES_PATH")
os.environ.get("CLA_DOCUMENT_URL")
os.environ.get("ALLOWLIST", "").split(",")
os.environ.get("SIGN_COMMENT")
os.environ.get("ALLSIGNED_COMMENT")

# Your CLA check logic here
# Note: You can extract the organization and repository name if needed:
# org, repo = cla_repository.split('/', 1) if '/' in cla_repository else ('', cla_repository)

# ... rest of your CLA check logic ...

Choose a reason for hiding this comment

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

CRITICAL: main() exits successfully without consuming any of the inputs or performing a CLA check, so the action will never catch unsigned contributors. Please implement the verification logic (and fail fast when checks fail) before wiring this into workflows; otherwise every run will report success regardless of CLA status.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants