Skip to content

Add CLA, CONTRIBUTING.md, and CLA Assistant workflow - #15

Merged
getappz merged 2 commits into
masterfrom
cla-and-contributing
Jul 6, 2026
Merged

Add CLA, CONTRIBUTING.md, and CLA Assistant workflow#15
getappz merged 2 commits into
masterfrom
cla-and-contributing

Conversation

@getappz

@getappz getappz commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a Contributor License Agreement (CLA.md), a CONTRIBUTING.md, and a CLA Assistant GitHub Actions workflow (.github/workflows/cla.yml) that requires contributors to sign the CLA before their first PR merges.

What

  • CLA.md — standard Apache-ICLA-style contributor license agreement, granting the maintainer copyright/patent license (including relicensing rights) while contributions stay MIT-licensed to the public.
  • CONTRIBUTING.md — quickstart, quality bar (cargo fmt --check, clippy -D warnings, test), repo structure, PR guidelines, and CLA-signing instructions.
  • .github/workflows/cla.ymlcontributor-assistant/github-action (pinned to an exact commit SHA, not a mutable tag), triggered on pull_request_target + issue_comment, storing signatures on a cla-signatures branch.

Fixes applied during review (before committing)

This work was drafted directly in the working tree (uncommitted, untracked) rather than on its own branch. Reviewing it before committing surfaced two real bugs, both now fixed:

  1. Wrong license named. CLA.md §8 and the bot's automated PR comment both said the project is licensed under Apache-2.0 — the actual license (per LICENSE, Cargo.toml, and CONTRIBUTING.md's own "License" section) is MIT. Both now correctly say MIT.
  2. Broken CLA link. path-to-document and the PR-comment link both pointed at .../blob/main/CLA.md — the repo's actual default branch is master, not main. Both now point at master.

Also: dropped the unused actions: write permission (only contents/pull-requests/statuses are actually used), and added a comment documenting the one-time CLA_SIGNATURES_TOKEN repo secret the workflow needs (a PAT with Contents: write) — without it, the workflow will fail on first run since GITHUB_TOKEN alone can't push to cla-signatures.

Setup required before merge

CLA_SIGNATURES_TOKEN repo secret must be created (fine-grained PAT, Contents: write on this repo) or the workflow will fail the first time it runs.

Test Plan

  • No code changes — docs + CI workflow only. Verified: license references are internally consistent across LICENSE/Cargo.toml/CONTRIBUTING.md/CLA.md/cla.yml; both CLA links point at master; the third-party action's pin is an exact commit SHA.
  • Not yet tested end-to-end (needs the CLA_SIGNATURES_TOKEN secret configured, then a real test PR from a non-allowlisted account to confirm the bot comments/blocks correctly).

Checklist

  • License references consistent (MIT) across all touched files
  • CLA links point at the correct default branch
  • CLA_SIGNATURES_TOKEN secret configured (maintainer setup step, not part of this diff)

getappz added 2 commits July 6, 2026 14:28
Fixes two errors found in review before committing: CLA.md and the
bot's PR comment both incorrectly named Apache-2.0 as the project's
license (actual license is MIT, per LICENSE/Cargo.toml/CONTRIBUTING.md's
own License section); the CLA document link pointed at a nonexistent
`main` branch instead of the repo's actual default branch, `master`.
Also drops the unneeded `actions: write` permission and documents the
one-time CLA_SIGNATURES_TOKEN secret setup the workflow requires.
…G.md

Small documentation-only additions: inline comments explaining the
CLA workflow's config choices (trigger condition, SHA pin, signatures
branch, allowlist, friendlier bot message), and a CONTRIBUTING.md
note on the /reopen issue-comment convention.
@getappz
getappz merged commit a11c92c into master Jul 6, 2026
6 checks passed
@getappz
getappz deleted the cla-and-contributing branch July 6, 2026 09:37
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant