Skip to content

ci: do not start CLA jobs that exit immediately - #39

Merged
rabestro merged 1 commit into
mainfrom
ci/skip-cla-jobs-that-exit-immediately
Sep 14, 2026
Merged

rabestro merged 1 commit into
mainfrom
ci/skip-cla-jobs-that-exit-immediately

Conversation

@rabestro

@rabestro rabestro commented Sep 14, 2026

Copy link
Copy Markdown
Member

What and why

The CLA script already returns at once for bots and for owners, members and collaborators — but only after the job has started. Hoisting the same test into a job-level if: means the job is never started at all.

This repository is public, so Actions minutes are free and there is no saving here. The gain is that a pull request stops carrying a check whose only outcome is to report that it had nothing to check.

Behaviour is unchanged. The check still runs for external contributors — which, on a public repository, is the case that actually happens.

Applied for consistency with the private repositories, where the same jobs were measured to cost real minutes for doing no work: over 1–14 September every CLA run there exited early, the authors being bots or the repository owner.

Verification

The file was re-parsed after editing and the job read back — if: present, runs-on intact, steps unchanged. A YAML edit that silently drops a check looks exactly like a green build.

Note that cla.yaml runs on pull_request_target, so this pull request still runs the old version from the base branch. The change takes effect on the next pull request after merge.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Streamlined contributor license agreement checks by skipping exempt authors before the check starts.
    • Existing agreement validation behavior remains unchanged for applicable contributors.
    • Reduces unnecessary workflow runs without affecting the user-facing contribution process.

The CLA script already returns at once for bots and for owners, members and
collaborators, but only after the job has started. Hoisting the same test into a
job-level condition means the job is never started at all.

This repository is public, so Actions minutes are free and there is no saving
here — the gain is that a pull request stops carrying a check that exists only to
report that it had nothing to check. Behaviour is unchanged: the check still
runs, for the external contributors it exists for, which on a public repository
is the case that actually happens.

Applied for consistency with the private repositories, where the same jobs were
measured to cost real minutes for doing no work.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: a5757366-bc98-4677-824d-c6efd7573d36

📥 Commits

Reviewing files that changed from the base of the PR and between e3f468e and 377fd3b.

📒 Files selected for processing (1)
  • .github/workflows/cla.yaml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The CLA workflow now skips the cla-check job for bot accounts and exempt author associations. The existing runner, steps, and script logic remain unchanged.

Changes

CLA workflow gating

Layer / File(s) Summary
Skip exempt CLA checks
.github/workflows/cla.yaml
Adds a job-level condition for bot accounts and OWNER, MEMBER, or COLLABORATOR author associations. The job no longer starts for these authors.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Refactor

Merge Risk: ⚪ Minimal · up to 377fd

The workflow gates the existing CLA job for documented exemptions while preserving checks for other contributors; no concrete merge-blocking risk is identified.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: preventing CLA jobs from starting when they would exit immediately.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/skip-cla-jobs-that-exit-immediately

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@sonarqubecloud

Copy link
Copy Markdown

@github-actions github-actions Bot added the ci-cd CI/CD pipelines, workflows, and tooling label Sep 14, 2026
@sonarqubecloud

Copy link
Copy Markdown

@rabestro
rabestro merged commit 55e8317 into main Sep 14, 2026
8 checks passed
@rabestro
rabestro deleted the ci/skip-cla-jobs-that-exit-immediately branch September 14, 2026 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-cd CI/CD pipelines, workflows, and tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant