Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 43 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,11 @@ There are 2 types of issues:

This section describes the guidelines for contributing code / docs to Hyperlight.

### Pull Requests
### Opening a New Pull Request

All contributions come through pull requests. To submit a proposed change, we recommend following this workflow:
All contributions come through pull requests.

To submit a proposed change, we recommend following this workflow:

1. Make sure there's an issue (bug or proposal) raised, which sets the expectations for the contribution you are about to make.
2. Fork the relevant repo and create a new branch
Expand All @@ -39,12 +41,50 @@ All contributions come through pull requests. To submit a proposed change, we re

A good way to communicate before investing too much time is to create a "Work-in-progress" PR and share it with your reviewers. The standard way of doing this is to add a "[WIP]" prefix in your PR's title and open the pull request as a draft.

### Pull Request Lifecycle

Hyperlight leverages a [PROW](https://docs.prow.k8s.io/) deployment to manage the lifecycle of pull requests.
This section describes requirements needed for the system to successfully merge pull requests and also commands that can be used to interact with the system.

#### Merge Requirements

[Tide](https://docs.prow.k8s.io/docs/components/core/tide/) is a component of the PROW deployment that enforces merge requirements on pull requests and handles mering of eligible pull requests.

The following **requirements** must be met before a pull request can be merged:

- The following labels must be present on the pull request:
- `lgtm`: 'Looks good to me' approval from at least one reviewer.
- `approved`: 'Approved' approval from at least one maintainer.
- The following labels must *not* be present on the pull request:
- `do-not-merge/hold`: 'Do not merge' label indicating a review has requested the pull request not be merged.
- `do-not-merge/work-in-progress`: 'Do not merge' label indicating the pull request is not ready to be merged.
- `needs-rebase`: A label indicating the pull request needs to be rebased to avoid conflicts.

#### Interacting With Pull Requests

- 'Looks Good To Me' (LGTM) approval can be given by adding a comment with `/lgtm` to the pull request.
LGTM approval can be given GitHub org members (excluding the author of the pull request).
`/lgtm cancel` can be used to revoke the LGTM approval.
- 'Approved' approval can be given by adding a comment with `/approve` to the pull request.
Pull Request approval is reserved for code owners declared in the `OWNERS` file.
Note: pushing new changes to a pull request will not cancel the approval.
`/approve cancel` can be used to revoke the approval.
- 'Do Not Merge' labels are used to prevent pull requests from merging.
`/hold {reason}` can be added to comments to add the `do-not-merge/hold` label.
`/hold cancel` can be used to remove the `do-not-merge/hold` label.
- 'tide' labels can be used to change how the pull request will be merged.
`/label tide/merge-method-merge` will merge the pull request using the 'merge' (default) method.
`/label tide/merge-method-squash` will merge the pull request using the 'squash' method.
`/label tide/merge-method-rebase` will merge the pull request using the 'rebase' method.
`/remove-label tide/merge-method-{method}` will remove the merge method label.

### Developer Certificate of Origin: Signing your work

#### Every commit needs to be signed

The Developer Certificate of Origin (DCO) 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. Here is the full text of the [DCO](https://developercertificate.org/), reformatted for readability:
```

```text
By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
Expand Down
10 changes: 10 additions & 0 deletions OWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
approvers:
- andreiltd
- danbugs
- dblnz
- devigned
- jprendes
- ludfjig
- marosset
- simongdavies
- syntactically
Loading