From 393ca66b5afbfc7b376843b57e8bd756a66a184f Mon Sep 17 00:00:00 2001 From: Theofanis Petkos Date: Fri, 15 Dec 2023 16:25:23 +0000 Subject: [PATCH] [Devtools Week] Update contributing guide (#39) * Update contributing guide Signed-off-by: thepetk * Update CONTRIBUTING.md Co-authored-by: Michael Valdron Signed-off-by: thepetk * Update CONTRIBUTING.md Co-authored-by: Michael Valdron Signed-off-by: thepetk * Update CONTRIBUTING.md Co-authored-by: Michael Valdron Signed-off-by: thepetk * Update CONTRIBUTING.md Co-authored-by: Michael Valdron Signed-off-by: thepetk * Update CONTRIBUTING.md Co-authored-by: Michael Valdron Signed-off-by: thepetk * Update CONTRIBUTING.md Co-authored-by: Michael Valdron Signed-off-by: thepetk * Update CONTRIBUTING.md Co-authored-by: Michael Valdron Signed-off-by: thepetk * Update contributing.md Signed-off-by: thepetk --------- Signed-off-by: thepetk Co-authored-by: Michael Valdron --- CONTRIBUTING.md | 74 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 22 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1801f038..e5be9325 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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: ``` -[optional scope]: +Signed-off-by: First Lastname ``` -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.