Skip to content

Commit

Permalink
Updating CONTRIBUTING.md with prow commands
Browse files Browse the repository at this point in the history
  • Loading branch information
marosset committed Dec 17, 2024
1 parent b115c42 commit 817e361
Showing 1 changed file with 43 additions and 3 deletions.
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

0 comments on commit 817e361

Please sign in to comment.