This guide will help you through the process of making PRs and releasing a new version of the Synthetics Helm Charts.
Before you begin, ensure you have the following tools installed:
You can also install the above listed tools using the following command on macOS:
make install-tools
This repository also uses pre-commit hooks to ensure that the code is formatted correctly before changes are committed. Users are recommended to install pre-commit.
Contributors should open a PR with their proposed changes. The PR title must include scope of the changes, for example, feat: Add new feature
, fix: Fix issue
, chore: Update dependencies
, etc. The PR description should include a brief summary of the changes and any additional context that might be helpful for reviewers.
After making changes to the Helm chart, you can lint the chart using the following command:
make lint
The chart README is generated using the helm-docs
tool. The tool generates a values table from comments in values.yaml
file and uses the README.md.gotmpl
to generates the chart's README.md
file. After updates to the helm chart or README.md.gotmpl
inside a chart directory, contributors must run below helm-docs script to generate the updated README.md
file. Contributors should not edit the README.md file manually.
To update the README, run the following command which will start a docker container and run helm-docs on the chart:
make docker-docs
If you have helm-docs installed locally, you can run the following command:
make docs
This repository includes unit tests for helm charts that are written using the helm unittest plugin. The tests are located in the tests/unittests
directory. Contributors should add tests for new features or bug fixes which involve using helm's templating engine. The test API documentation for the plugin can be found here.
You can run the tests using the following command:
make unittest
The helm chart version should be updated in the Chart.yaml
file. The version should follow the Semantic Versioning guidelines.
To bump the application version, update the appVersion
field in the Chart.yaml
file to match the new runner container image version.
To release a new version of the Helm chart, follow these steps:
-
Update the Chart Version:
- Update the
version
field in theChart.yaml
file.
- Update the
-
Commit the Version Update:
- Commit the version update with a message like
chore: Bump chart version to x.y.z
.
git add Chart.yaml git commit -m "chore: Bump chart version to x.y.z"
- Commit the version update with a message like
-
Create a Pull Request:
- Push the changes to your branch and create a pull request.
- Ensure that your pull request passes all checks.
-
Merge PR and Automatic Release:
- Once the pull request is reviewed and approved, a maintainer will merge it into the main branch.
- Upon merging the pull request, a GitHub Actions workflow will be triggered to automatically package and release the new version of the Helm chart. The new version will be available in the GitHub Releases section.