Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Devtools Week] Update contributing guide #39

Merged
merged 9 commits into from
Dec 15, 2023
Merged
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
74 changes: 52 additions & 22 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,63 @@
# How to contribute
# Contributing

Contributions are essential for keeping this library great.
We try to keep it as easy as possible to contribute changes and we are
open to suggestions for making it even easier.
There are only a few guidelines that we need contributors to follow.
Thank you for your interest in contributing to Alizer! We welcome your additions to this project.

## First Time Setup
1. Install prerequisites:
* [Java Development Kit](https://adoptopenjdk.net/)
2. Fork and clone the repository
3. `cd alizer`
4. Import the folder as a project inyour favorite IDE
## Code of Conduct

Before contributing to this repository for the first time, please review our project's [Code of Conduct](https://github.com/devfile/api/blob/main/CODE_OF_CONDUCT.md).

## Commit Messages
Commit messages on main branches must follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary). Contributors are encouraged to use them as well, but maintainers will happily fix things up when merging pull requests if needed.
## Certificate of Origin

The Conventional Commits specification is a lightweight convention on top of commit messages, which allow us to automate the release process. This convention dovetails with SemVer, by describing the features, fixes, and breaking changes made in commit messages.
By contributing to this project you agree to the Developer Certificate of
Origin (DCO). This document was created by the Linux Kernel community and is a
simple statement that you, as a contributor, have the legal right to make the
contribution. See the [DCO](DCO) file for details.

## How to contribute:

### Issues

If you spot a problem with devfile alizer, [search if an issue already exists](https://github.com/devfile/api/issues?q=is%3Aissue+is%3Aopen+label%3Aarea%2Falizer). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/devfile/api/issues/new/choose).

You can tag Alizer related issues with the `/area alizer` text in your issue.

### Development

#### Repository Format

The `alizer` repository includes different components:

- [CLI](./README.md#cli)
- [Alizer Library](./README.md#library-package)

As a result, `alizer` can be used both as a cli tool and imported as a package inside other projects. More information for the repository can be found [here](./docs/public/alizer-spec.md).

#### Building locally

Your commit messages should be structured as follows:
More information for building & running locally the project can be found [here](./README.md#usage).

#### Testing

Apart from testing your changes locally with an updated Alizer CLI, someone can test their changes by running `make test`. This will test the updates against all existing test cases.

### Submitting Pull Request

**Note:** All commits must be signed off with the footer:

```
<type>[optional scope]: <description>
Signed-off-by: First Lastname <email@email.com>
```

Read more about [commit types](https://github.com/pvdlg/conventional-commit-types#commit-types).
### Certificate of Origin
You can easily add this footer to your commits by adding `-s` when running `git commit`. When you think the code is ready for review, create a pull request and link the issue associated with it.

By contributing to this project you agree to the Developer Certificate of
Origin (DCO). This document was created by the Linux Kernel community and is a
simple statement that you, as a contributor, have the legal right to make the
contribution. See the [DCO](DCO) file for details.
Owners of the repository will watch out for new PRs and provide reviews to them.

For each change in the PR, GitHub Actions will run by default checks against your changes (linting, unit testing and code coverage).

If comments have been given in a review, they have to be addressed before merging.

After addressing review comments, don't forget to add a comment in the PR with the reviewer mentioned afterward, so they get notified by Github to provide a re-review.

# Contact us

If you have any questions, please visit us the `#devfile` channel under the [Kubernetes Slack](https://slack.k8s.io) workspace.