added DCO requirement to the contributing guide

Signed-off-by: Sam Alba <sam.alba@gmail.com>
This commit is contained in:
Sam Alba 2021-07-08 14:32:01 +02:00
parent bf6a9f3588
commit fd60355281

View File

@ -16,7 +16,7 @@ git clone https://github.com/dagger/dagger.git
### 2) Forking ### 2) Forking
- Click on the *Fork* button on GitHub - Click on the _Fork_ button on GitHub
- Add your fork as a remote - Add your fork as a remote
```sh ```sh
@ -55,13 +55,14 @@ git push -f -u fork mybranch # <-- update the pull request
Contributions to this project must be accompanied by a Developer Certificate of Contributions to this project must be accompanied by a Developer Certificate of
Origin (DCO). Origin (DCO).
All commit messages must contain the Signed-off-by line with an email address that All commit messages must contain the Signed-off-by line with an email address that matches the commit author. When commiting, use the `--signoff` flag:
matches the commit author. When commiting, use the `--signoff` flag:
```sh ```sh
git commit -s git commit -s
``` ```
The Signed-off-by line must match the **author's real name**, otherwise the PR will be rejected.
### Commit Messages ### Commit Messages
[How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/) [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/)
@ -70,14 +71,13 @@ Guidelines:
- Group Commits: Each commit should represent a meaningful change (e.g. implement - Group Commits: Each commit should represent a meaningful change (e.g. implement
feature X, fix bug Y, ...). feature X, fix bug Y, ...).
- For instance, a PR should not look like *1) Add Feature X 2) Fix Typo - For instance, a PR should not look like _1) Add Feature X 2) Fix Typo 3) Changes to features X 5) Bugfix for feature X 6) Fix Linter 7) ..._
3) Changes to features X 5) Bugfix for feature X 6) Fix Linter 7) ...*
- Instead, these commits should be squashed together into a single "Add Feature" - Instead, these commits should be squashed together into a single "Add Feature"
commit. commit.
- Each commit should work on its own: it must compile, pass the linter and so on. - Each commit should work on its own: it must compile, pass the linter and so on.
- This makes life much easier when using `git log`, `git blame`, `git bisect`, etc. - This makes life much easier when using `git log`, `git blame`, `git bisect`, etc.
- For instance, when doing a `git blame` on a file to figure out why a change - For instance, when doing a `git blame` on a file to figure out why a change
was introduced, it's pretty meaningless to see a *Fix linter* commit message. was introduced, it's pretty meaningless to see a _Fix linter_ commit message.
"Add Feature X" is much more meaningful. "Add Feature X" is much more meaningful.
- Use `git rebase -i main` to group commits together and rewrite their commit message - Use `git rebase -i main` to group commits together and rewrite their commit message
- To add changes to the previous commit, use `git commit --amend -s`. This will - To add changes to the previous commit, use `git commit --amend -s`. This will
@ -85,15 +85,14 @@ Guidelines:
- Format: Use the imperative mood in the subject line: "If applied, this commit - Format: Use the imperative mood in the subject line: "If applied, this commit
will _your subject line here_" will _your subject line here_"
## FAQ ## FAQ
### How to run the markdown linter locally ### How to run the markdown linter locally
First install `markdownlint-cli`: First install `markdownlint-cli`:
* On Mac OS: `brew install markdownlint-cli` - On Mac OS: `brew install markdownlint-cli`
* On other systems, with yarn installed: `yarn global add markdownlint-cli` - On other systems, with yarn installed: `yarn global add markdownlint-cli`
Then from the repository root: Then from the repository root: