Skip to content

Commit 8a1415f

Browse files
authored
chore: adopt the shared LabStack CLA and enforce it (#223)
1 parent 536e318 commit 8a1415f

2 files changed

Lines changed: 57 additions & 12 deletions

File tree

‎.github/workflows/cla.yml‎

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: CLA
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
pull_request_target:
7+
types: [opened, synchronize, reopened]
8+
9+
permissions:
10+
actions: write
11+
# write, not read: the action commits each signature to the branch below.
12+
contents: write
13+
pull-requests: write
14+
statuses: write
15+
16+
jobs:
17+
cla:
18+
name: Check CLA
19+
runs-on: ubuntu-24.04
20+
# Only react to the signature sentence, or to pull request events. Note this
21+
# workflow never checks out pull request code: `pull_request_target` runs
22+
# with a writable token in the base repository context, so running a
23+
# contributor's code here would hand them that token.
24+
if: >-
25+
github.event_name == 'pull_request_target' ||
26+
(github.event.issue.pull_request != null &&
27+
github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA')
28+
steps:
29+
- uses: contributor-assistant/github-action@ca4a40a7d1004f18d9960b404b97e5f30a505a08 # v2.6.1
30+
env:
31+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
with:
33+
path-to-document: https://github.com/labstack/onebox/blob/main/CLA.md
34+
path-to-signatures: signatures.json
35+
# Signatures live on their own branch. Storing them on main would put
36+
# a bot commit into the release history and trigger a CI run every
37+
# time somebody signs.
38+
branch: cla-signatures
39+
allowlist: vishr,dependabot[bot]

‎CLA.md‎

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
# Onebox Contributor License Agreement
1+
# LabStack Contributor License Agreement
22

3-
Thank you for your interest in contributing to Onebox, a project of LabStack
4-
LLC ("LabStack", "we", "us").
3+
Thank you for your interest in contributing to a project of LabStack LLC
4+
("LabStack", "we", "us"), such as Driga, Fanout, or Onebox.
55

66
This Contributor License Agreement ("Agreement") documents the rights granted
77
by contributors to LabStack. It applies to any Contribution you submit to any
88
project owned or managed by LabStack. Signing it is a one-time step; it covers
9-
all of your future Contributions to Onebox unless you notify us otherwise.
9+
all of your future Contributions to LabStack projects unless you notify us
10+
otherwise.
1011

1112
**You keep the copyright in your Contribution.** This Agreement is a license,
1213
not an assignment. You may continue to use your Contribution however you wish,
@@ -63,12 +64,12 @@ terms, including licenses other than the Apache License, Version 2.0, and to
6364
distribute Your Contribution as part of proprietary or commercially licensed
6465
offerings.
6566

66-
This clause exists so that Onebox can offer a commercially licensed edition
67-
without needing to locate and re-negotiate with every past contributor. It does
68-
not restrict Your own use of Your Contribution, and it does not withdraw any
69-
release already made under an open source license: every version of Onebox
70-
published under the Apache License, Version 2.0, remains available under that
71-
license permanently.
67+
This clause exists so that a LabStack project can offer a commercially
68+
licensed edition without needing to locate and re-negotiate with every past
69+
contributor. It does not restrict Your own use of Your Contribution, and it
70+
does not withdraw any release already made under an open source license: every
71+
version of a LabStack project published under the Apache License, Version 2.0,
72+
remains available under that license permanently.
7273

7374
## 5. Your representations
7475

@@ -102,8 +103,13 @@ aware that would make these representations inaccurate in any respect.
102103
## How to sign
103104

104105
Open a pull request. An automated check will ask you to accept this Agreement
105-
by leaving a comment on the pull request; the check records your acceptance
106-
against your account, and future pull requests will not ask again.
106+
by commenting on the pull request with:
107+
108+
> I have read the CLA Document and I hereby sign the CLA
109+
110+
The check records your acceptance against your account, and future pull
111+
requests to that repository will not ask again. The Agreement covers every
112+
LabStack project, but each repository's check may ask once.
107113

108114
If you are contributing on behalf of a legal entity that requires a
109115
countersigned document, email <opensource@labstack.com> before opening the pull

0 commit comments

Comments
 (0)