|
| 1 | +# Contributing |
| 2 | + |
| 3 | +Thank you for your interest in contributing to the Devfile Registry! We welcome your additions to this project. |
| 4 | + |
| 5 | +## Code of Conduct |
| 6 | + |
| 7 | +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) |
| 8 | + |
| 9 | +## How to Contribute: |
| 10 | + |
| 11 | +### Issues |
| 12 | + |
| 13 | +If you spot a problem with the devfile registry, [search if an issue already exists](https://github.com/devfile/api/issues). 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). |
| 14 | + |
| 15 | +You can tag Devfile Registry related issues with the `/area registry` text in your issue. |
| 16 | + |
| 17 | +### Development |
| 18 | + |
| 19 | +#### Repository Format |
| 20 | + |
| 21 | +The `registry-support` repository for the devfile registry is a mono-repo of sorts and there are a number of individual components contained within. |
| 22 | + |
| 23 | +- [Devfile Registry Build Tools](./build-tools) - Tools for building devfile registries into container images. |
| 24 | +- [Devfile Registry Helm Chart](./deploy/chart/devfile-registry) - Helm chart for deploying the devfile registry on to Kubernetes. |
| 25 | +- [Index Generator](./index/generator) - The index generator tool for generation index.json files from registry data |
| 26 | +- [Index Server](./index/server) - The index server, one of two servers that the devfile registry runs |
| 27 | +- [OCI Registry Server](./oci-registry) - The OCI registry server, the second of two servers that the devfile registry runs. |
| 28 | + |
| 29 | +Each of these individual components will have their own readme with instructions for consuming or developing the component, and it's recommended to consult them before development. |
| 30 | + |
| 31 | + |
| 32 | +#### Building All Components Together |
| 33 | + |
| 34 | +This repository contains a handy script that will build all of the individual components of the devfile registry (build-tools, index generator, index server, registry viewer, etc) and produce a deployable |
| 35 | +container image containing test devfile data. |
| 36 | + |
| 37 | +### Testing your Changes |
| 38 | + |
| 39 | +All changes delivered for the Devfile Registry are expected to be sufficiently tested. This may include validating that existing tests pass, updating tests, or adding new tests. |
| 40 | +Some of the components in this repository may have their own tests, others may just be covered by the repository's integration tests. |
| 41 | + |
| 42 | +#### Unit Tests |
| 43 | + |
| 44 | +Unit tests for each component are denoted by files with the `_test.go` suffix. |
| 45 | + |
| 46 | +#### Integration Tests |
| 47 | + |
| 48 | +The integration tests for this repository are located under the `tests/integration` folder and contain tests that validate the Operator's functionality when running on an OpenShift cluster. |
| 49 | + |
| 50 | +To run these tests, consult the integration test's [readme](./tests/integration). |
| 51 | + |
| 52 | +### Submitting Pull Request |
| 53 | + |
| 54 | +**Note:** All commits must be signed off with the footer: |
| 55 | +``` |
| 56 | +Signed-off-by: First Lastname <[email protected]> |
| 57 | +``` |
| 58 | + |
| 59 | +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. |
| 60 | + |
| 61 | +Owners of the repository will watch out for and review new PRs. |
| 62 | + |
| 63 | +By default for each change in the PR, GitHub Actions and OpenShift CI will run checks against your changes (linting, unit testing, and integration tests). |
| 64 | + |
| 65 | +If comments have been given in a review, they have to be addressed before merging. |
| 66 | + |
| 67 | +After addressing review comments, don’t forget to add a comment in the PR afterward, so everyone gets notified by Github and know to re-review. |
| 68 | + |
| 69 | + |
| 70 | +# Contact us |
| 71 | + |
| 72 | +If you have questions, please visit us on `#devfile` in the [Kubernetes Slack](https://slack.k8s.io). |
0 commit comments