Skip to content

Commit

Permalink
Merge pull request #16 from sanfern/sanfern-contrib-doc
Browse files Browse the repository at this point in the history
Adding contributor's guide
  • Loading branch information
sanfern authored Apr 12, 2022
2 parents b343666 + 14bdfd6 commit 091cc99
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 0 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,7 @@ For Windows:
```
go test -tags WINDOWS ./...
```
# Contributing

Contributing to L3afd is fun. To get started:
- [Contributing guide](docs/CONTRIBUTING.md)
94 changes: 94 additions & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# How To Contribute

## Some Ways to Contribute
- [Getting started with L3AF](#getting-started-with-l3af)
- [Report potential bugs](#report-potential-bugs)
- [New features or product enhancements](#new-features-or-product-enhancements)
- [Submitting a patch that fixes a bug](#submitting-a-patch-that-fixes-a-bug)
- [Coding style](#coding-style)
- [Guidelines for pull requests](#guidelines-for-pull-requests)
- [Improve our guides and documentation](#improve-our-guides-and-documentation)
- [Increase our test coverage](#increase-our-test-coverage)

### Getting started with L3AF

See [L3AF](https://wiki.lfnetworking.org/display/L3AF/Getting+Started+with+L3AF)

### Report potential bugs

First, **ensure the bug was not already reported** by searching on GitHub under
[Issues](https://github.com/l3af-project/l3afd/issues).

If you did not find a related bug, you can help us by
[submitting a GitHub Issue](https://github.com/l3af-project/l3afd/issues/new).
A good bug report provides a detailed description of the issue and step-by-step instructions
for reliably reproducing the issue.

We will aim to triage issues in [weekly TSC meetings](https://wiki.lfnetworking.org/display/L3AF/Community+Meetings).
In case we are unable to repro the issue, we will request more information from you. There will be a waiting period of
2 weeks for the requested information and if there is no response, the issue will be closed. If this happens,
please reopen the issue if you do get a repro and provide the requested information.

If you found a security issue, please do not open a GitHub Issue, and instead [email]([email protected]) it in detail.

### New features or product enhancements

You can request or implement a new feature by [submitting a GitHub Issue](https://github.com/l3af-project/l3afd/issues/new).
and communicate your proposal so that the L3AF community can review and provide feedback. Getting
early feedback will help ensure your implementation work is accepted by the community.
This will also allow us to better coordinate our efforts and minimize duplicated effort.

### Submitting a patch that fixes a bug

Fork the repo and make your changes. Then open a new GitHub pull request with the patch.

* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number
if applicable.

### Guidelines for pull requests

Great, you want to directly contribute to the l3af project and submit a pull request.
It is recommended prior to working on a PR to submit an issue in github for the change you want
to make describing the change and context around it. This gives the l3af maintainers a chance to review
the issue and provide feedback and work with you on the change. If you have any questions, please
feel free to reach out to the l3af maintainers via [Slack](https://app.slack.com/client/T02GD9YQJUT/C02GRTC0SAD) or
[mail]([email protected]) group. Below are some general guidelines to help ensure a successful PR approval.

- Provide background why you are making the change and the issue it addresses
- List what is changing and provide a high-level summary of the change
- List any relevant dependencies linked to this change
- Describe the tests that you ran to verify your changes and add/update test cases
- Update relevant docs, especially if you've changed APIs
- Ensure all GitHub CI/CD checks pass

### Coding Style

See [uber-go](https://github.com/uber-go/guide/blob/master/style.md)

### Improve our guides and documentation

We look forward to contributions improving our guides and documentation.
Documentation should be written in an inclusive style. The [Google developer documentation](https://developers.google.com/style/inclusive-documentation)
contains an excellent reference on this topic.

### Increase our test coverage

Increase the code coverage by adding tests. PRs are expected to have 100% test coverage for added code. This can be
verified with a coverage build. If your PR cannot have 100% coverage for some reason please clearly explain why when
you open it. Run your tests and get coverage locally

```bash
go test -race -covermode=atomic -coverprofile=coverage.out
```

## Developer Certificate of Origin (DCO)

The [Developer Certificate of Origin](https://developercertificate.org/) is a lightweight way for contributors
to certify that they wrote or otherwise have the right to submit the code they are contributing to the project.
This App enforces the Developer Certificate of Origin on Pull Requests. It requires all commit messages to contain
the ```Signed-off-by``` line with an email address that matches the commit author.

## Governance

Please refer to the [governance repo](https://github.com/l3af-project/governance) for Project Charter, Code of Conduct,
Release Process, and Committee Members.

0 comments on commit 091cc99

Please sign in to comment.