Skip to content

Commit 3a13ee2

Browse files
author
tazhate
committed
docs: add DCO requirement and PR template
- CONTRIBUTING.md: add Developer Certificate of Origin section, license policy for contributions, requirement to include SPDX headers on new source files. - .github/workflows/dco.yml: enforce Signed-off-by trailer on every PR commit using tim-actions/get-pr-commits + tim-actions/dco. - .github/PULL_REQUEST_TEMPLATE.md: PR template with DCO sign-off checkbox, test plan, and change-type categories. Context: spent ~30min wiring up the standard OSS contributor workflow — DCO is the lightweight alternative to a CLA, recognized by the Linux Foundation, CNCF, and most Apache 2.0 projects. Signed-off-by: tazhate <hate@tazhate.ru>
1 parent fa2947e commit 3a13ee2

3 files changed

Lines changed: 77 additions & 0 deletions

File tree

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<!--
2+
Thank you for contributing to chainplane!
3+
Please fill out the sections below and remove any that do not apply.
4+
-->
5+
6+
## Summary
7+
8+
<!-- A short description of what this PR does and why. -->
9+
10+
## Type of change
11+
12+
- [ ] Bug fix (non-breaking change which fixes an issue)
13+
- [ ] New feature (non-breaking change which adds functionality)
14+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
15+
- [ ] Documentation update
16+
- [ ] New chain adapter
17+
- [ ] CI / build / tooling
18+
19+
## Testing
20+
21+
<!-- How was this verified? `make test`, `make test-e2e`, manual kind cluster, etc. -->
22+
23+
- [ ] `make test` passes
24+
- [ ] `make lint` passes
25+
- [ ] `make manifests generate` produces no diff
26+
27+
## DCO sign-off
28+
29+
By submitting this PR I certify that:
30+
31+
- [ ] My commits are signed off (`git commit -s`) and comply with the [DCO](https://developercertificate.org/).
32+
- [ ] I am the original author of the contribution, or have the right to submit it under Apache 2.0.
33+
34+
## Related issues
35+
36+
<!-- Closes #N, refs #M -->

.github/workflows/dco.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: DCO
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened]
6+
7+
permissions:
8+
contents: read
9+
pull-requests: read
10+
11+
jobs:
12+
dco:
13+
name: DCO check
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Get PR commits
17+
id: get-commits
18+
uses: tim-actions/get-pr-commits@v1.3.1
19+
with:
20+
token: ${{ secrets.GITHUB_TOKEN }}
21+
22+
- name: Verify Signed-off-by trailer
23+
uses: tim-actions/dco@v1.1.0
24+
with:
25+
commits: ${{ steps.get-commits.outputs.commits }}

CONTRIBUTING.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
Thank you for your interest in contributing. This document covers the development workflow, testing, and how to add support for new blockchain chains.
44

5+
## Developer Certificate of Origin (DCO)
6+
7+
All contributions to chainplane must be made under the [Developer Certificate of Origin](https://developercertificate.org/). By signing off your commits you certify that:
8+
9+
- The contribution was created by you and you have the right to submit it under the project license; or
10+
- The contribution is based on previous work licensed under the same open-source license; or
11+
- The contribution was provided to you by a third party who has the right to submit it under the project license.
12+
13+
**How to sign off:** add `Signed-off-by: Your Name <you@example.com>` to each commit. The `git commit -s` flag does this automatically.
14+
15+
A DCO check runs on every pull request. PRs without sign-off cannot be merged.
16+
17+
## License of Contributions
18+
19+
All contributions are accepted under the [Apache License, Version 2.0](LICENSE). New source files must include the SPDX header from `hack/boilerplate.go.txt`.
20+
521
## Prerequisites
622

723
- **Go 1.23+** (version pinned in `go.mod`)

0 commit comments

Comments
 (0)