|
| 1 | +# How to Contribute |
| 2 | + |
| 3 | +This project is [licensed](./LICENSE) and accepts contributions via GitHub pull |
| 4 | +requests. In this document, we outline some of the conventions on development |
| 5 | +workflow, commit message formatting, contact points and other resources to make |
| 6 | +it easier to get your contribution accepted. |
| 7 | + |
| 8 | +## Getting Started |
| 9 | + |
| 10 | +* Fork the repository. |
| 11 | +* Read the [README.md](./README.md) for usage/test instructions. |
| 12 | +* Play with the project, submit bugs or patches. |
| 13 | + |
| 14 | +### Contribution Flow |
| 15 | + |
| 16 | +>💡 This repository uses [GitHub Actions](.github/workflows) |
| 17 | +for automation. Changes merged into the main branch trigger the creation of |
| 18 | +new tag, an auto-generated [CHANGELOG.md](./CHANGELOG.md) and a new release |
| 19 | +branch. |
| 20 | + |
| 21 | +On the contributors' side: |
| 22 | +1. Create a topic branch from the main brach to base your work on. |
| 23 | +2. Make commits of logical units. |
| 24 | +3. Push changes to a topic branch in your GitHub fork of this |
| 25 | +repository. |
| 26 | +4. Make sure to validate changes by running tests on a |
| 27 | +EWC environment. |
| 28 | +5. Submit a pull request to this repository, including details on |
| 29 | +the steps necessary to reproduce your tests; assign maintainers for |
| 30 | +review/approval. |
| 31 | + |
| 32 | +On the maintainers' side: |
| 33 | + |
| 34 | +1. Review, validate/test internally, and provide feedback prior to approving the |
| 35 | +pull request. |
| 36 | +2. Upon approval, squash-merge the changes, making sure to provide a relevant |
| 37 | +conventional commit message title (checkout |
| 38 | +[commit guidelines](#commit-guidelines) below). |
| 39 | +3. Verify the CI automation updates the [CHANGELOG.md](./CHANGELOG.md), |
| 40 | +creates a new `git tag` on the main branch and a release branch. |
| 41 | + |
| 42 | + |
| 43 | +### Commit Guidelines |
| 44 | + |
| 45 | +This repository enforces |
| 46 | +[conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) |
| 47 | +to mark breaking, major and minor code changes in accordance with the |
| 48 | +[Semantic Versioning](https://semver.org/) standard: |
| 49 | +- Commits that land on to the main branch should always be prefixed by a |
| 50 | +specific keyword (i.e. `docs`, `style`, `feat`, `fix`, `refactor`, `ci`, |
| 51 | +`chore` or `test`) |
| 52 | +- Value is communicated to the end-users by three of the prefixes: |
| 53 | + - `fix:` Patches a bug in your codebase. |
| 54 | + - `feat:` Introduces a new feature to the codebase. |
| 55 | + - `BREAKING CHANGE:` Introduces a breaking API change. A |
| 56 | +`BREAKING CHANGE` can be part of commits of any type. |
| 57 | + |
| 58 | +## Reporting Security Vulnerabilities |
| 59 | + |
| 60 | +Due to their public nature, GitHub and RocketChat are not appropriate places |
| 61 | +for reporting vulnerabilities. If you suspect you have found a security |
| 62 | +vulnerability, please do not file a GitHub issue, but instead email |
| 63 | +[support@europeanweather.cloud](mailto:support@europeanweather.cloud) with the |
| 64 | +full details, including steps to reproduce the issue. |
0 commit comments