2022-06-12 14:35:24 -05:00
|
|
|
# Contribution Guidelines
|
|
|
|
|
|
|
|
Any type of contribution is welcome; from new features, bug fixes, tests,
|
|
|
|
refactorings for easier maintainability or documentation improvements.
|
|
|
|
|
|
|
|
## Development environment
|
|
|
|
|
|
|
|
- [`node`](https://nodejs.org/en/) at least current LTS
|
|
|
|
- [`helm`](https://helm.sh/docs/intro/install/)
|
|
|
|
- `make` is optional; you may call the commands directly
|
|
|
|
|
|
|
|
When using Visual Studio Code as IDE, following plugins might be useful:
|
|
|
|
|
|
|
|
- [Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)
|
|
|
|
- [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint)
|
|
|
|
- [Helm Intellisense](https://marketplace.visualstudio.com/items?itemName=Tim-Koehler.helm-intellisense)
|
|
|
|
|
|
|
|
## Documentation Requirements
|
|
|
|
|
|
|
|
The `README.md` must include all configuration options. The parameters section
|
|
|
|
is generated by extracting the parameter annotations from the `values.yaml` file,
|
|
|
|
by using [this tool](https://github.com/bitnami-labs/readme-generator-for-helm).
|
|
|
|
|
|
|
|
If changes were made on configuration options, run `make readme` to update the
|
|
|
|
README file.
|
|
|
|
|
|
|
|
## Pull Request Requirements
|
|
|
|
|
|
|
|
When submitting or updating a PR:
|
|
|
|
|
|
|
|
- make sure it passes CI builds.
|
|
|
|
- do not make independent changes in one PR.
|
|
|
|
- try to avoid rebases. They make code reviews for large PRs and comments much harder.
|
|
|
|
- if applicable, use the PR template for a well-defined PR description.
|
|
|
|
- clearly mark breaking changes.
|
|
|
|
|
|
|
|
## Local development & testing
|
|
|
|
|
|
|
|
For local development and testing of pull requests, the following workflow can
|
|
|
|
be used:
|
|
|
|
|
|
|
|
1. Install `minikube` and `helm`.
|
|
|
|
2. Start a `minikube` cluster via `minikube start`.
|
|
|
|
3. From the `gitea/helm-chart` directory execute the following command. This
|
|
|
|
will install the dependencies listed in `Chart.yml` and deploy the current
|
|
|
|
state of the helm chart found locally. If you want to test a branch, make
|
|
|
|
sure to switch to the respective branch first.
|
|
|
|
`helm install --dependency-update gitea . -f values.yaml`.
|
|
|
|
4. Gitea is now deployed in `minikube`. To access it, it's port needs to be
|
|
|
|
forwarded first from `minikube` to localhost first via `kubectl --namespace
|
|
|
|
default port-forward svc/gitea-http 3000:3000`. Now Gitea is accessible at
|
|
|
|
[http://localhost:3000](http://localhost:3000).
|
2023-01-17 10:58:10 -06:00
|
|
|
|
|
|
|
### Unit tests
|
|
|
|
|
|
|
|
```bash
|
|
|
|
# install the unittest plugin
|
|
|
|
$ helm plugin install https://github.com/heyhabito/helm-unittest
|
|
|
|
|
|
|
|
# run the unittests
|
|
|
|
make unittests
|
|
|
|
```
|