Skip to content

Replace third-party CLA action#2444

Merged
glenn-jocher merged 4 commits into
masterfrom
migrate-cla-action
Jul 9, 2026
Merged

Replace third-party CLA action#2444
glenn-jocher merged 4 commits into
masterfrom
migrate-cla-action

Conversation

@glenn-jocher

@glenn-jocher glenn-jocher commented Jul 9, 2026

Copy link
Copy Markdown
Member

Summary

  • replace the third-party CLA runtime and duplicated configuration with the canonical ultralytics/actions workflow
  • use ultralytics/actions/cla@main so repositories inherit shared fixes automatically
  • keep event routing at the job boundary and grant only actions: write and pull-requests: write
  • keep the ledger PAT isolated to the CLA step and central ultralytics/cla repository

Deleted: contributor-assistant/github-action, its duplicated ledger path, branch, repository, comment, and allowlist configuration, the PAT environment mapping, unused permissions, workflow-level concurrency, and step-level event filtering.

Reused: the canonical ultralytics/actions/.github/workflows/cla.yml structure and shared ultralytics/actions/cla@main implementation.

Validation

  • byte-for-byte comparison with the reviewed ultralytics/actions/.github/workflows/cla.yml template
  • actionlint .github/workflows/cla.yml
  • npx prettier --write .github/workflows/cla.yml
  • stale third-party and pinned-action scan
  • git diff --check

🛠️ PR Summary

Made with ❤️ by Ultralytics Actions

🌟 Summary

🔐 Simplifies the repository’s Contributor License Agreement (CLA) workflow by replacing the third-party action with Ultralytics’ centralized CLA action.

📊 Key Changes

  • Renamed the workflow from “CLA Assistant” to “CLA”.
  • Replaced contributor-assistant/github-action with ultralytics/actions/cla@main.
  • Simplified workflow permissions by removing unnecessary contents and statuses write access.
  • Added concurrency control to prevent multiple CLA checks from running simultaneously for the same pull request.
  • Consolidated event filtering and CLA comment handling into the job condition.
  • Passed separate GitHub and CLA tokens to the new action.

🎯 Purpose & Impact

  • ✅ Centralizes CLA management across Ultralytics repositories, making maintenance and updates easier.
  • 🔒 Reduces workflow permissions, improving security.
  • ⚙️ Prevents duplicate or conflicting CLA checks on the same pull request.
  • 🚀 Keeps contributor sign-off behavior intact while simplifying the workflow configuration.

@UltralyticsAssistant UltralyticsAssistant added the devops GitHub Devops or MLops label Jul 9, 2026
@UltralyticsAssistant

Copy link
Copy Markdown
Member

👋 Hello @glenn-jocher, thank you for submitting a ultralytics/yolov3 🚀 PR! This automated checklist helps ensure a seamless integration, and an Ultralytics engineer will assist with any questions. Please review the following:

  • Define a Purpose: Clearly explain the purpose of your fix or feature in your PR description, and link to any relevant issues. Ensure your commit messages are clear, concise, and adhere to the project's conventions.
  • Synchronize with Source: Confirm your PR is synchronized with the ultralytics/yolov3 main branch. If it's behind, update it by clicking the 'Update branch' button or by running git pull and git merge main locally.
  • Ensure CI Checks Pass: Verify all Ultralytics Continuous Integration (CI) checks are passing. If any checks fail, please address the issues.
  • Update Documentation: Update the relevant documentation for any new or modified features.
  • Add Tests: If applicable, include or update tests to cover your changes, and confirm that all tests are passing.
  • Sign the CLA: Please ensure you have signed our Contributor License Agreement if this is your first Ultralytics PR by writing "I have read the CLA Document and I sign the CLA" in a new message.
  • Minimize Changes: Limit your changes to the minimum necessary for your bug fix or feature addition. "It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is." — Bruce Lee
    For more guidance, please refer to our Contributing Guide. Don't hesitate to leave a comment if you have any questions. Thank you for contributing to Ultralytics! 🚀

@UltralyticsAssistant UltralyticsAssistant left a comment

Copy link
Copy Markdown
Member

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 workflow-level event filtering, concurrency grouping, and narrowed permissions look appropriate, but the selected immutable CLA action revision has two verified functional defects that prevent safe CLA operation.

💬 Posted 1 inline comment

Comment thread .github/workflows/cla.yml Outdated
@glenn-jocher glenn-jocher merged commit 528df63 into master Jul 9, 2026
11 checks passed
@glenn-jocher glenn-jocher deleted the migrate-cla-action branch July 9, 2026 23:41
@UltralyticsAssistant

Copy link
Copy Markdown
Member

🎉 Merged—thank you, @glenn-jocher!

“Great things are done by a series of small things brought together.” — Vincent van Gogh

This PR brings that spirit to the CLA workflow by centralizing management, tightening permissions, preventing duplicate checks, and simplifying maintenance across Ultralytics repositories. Your thoughtful improvements help keep contributions secure and seamless—much appreciated!

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

Labels

devops GitHub Devops or MLops

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants