This repository hosts Mesh for Data Helm charts. The charts hosted in this repository are mirrors of charts that are maintained in other repositories within the fybrik organization.
helm repo add fybrik https://fybrik.github.io/charts/
helm repo update
Follow these steps to learn how to maintain a chart in a seperate repository and sync it to this charts repository on each new tagged release.
Create a .github/workflows/chart-publish.yaml
file.
Replace <chart-name>
with the name of the chart and <charts/chart-name>
with the path to the chart:
name: Update Charts
on:
push:
tags:
- 'v*'
jobs:
build:
name: Update Charts
runs-on: ubuntu-latest
steps:
- name: Checkout main repository
uses: actions/checkout@v2
with:
path: main
- name: Checkout charts repository
uses: actions/checkout@v2
with:
repository: fybrik/charts
path: charts-repo
- run: |
rm -rf charts-repo/charts/<chart-name>
cp -r main/<charts/chart-name> charts-repo/charts
- uses: tibdex/github-app-token@v1
id: generate-token
with:
app_id: ${{ secrets.CHARTS_APP_ID }}
private_key: ${{ secrets.CHARTS_APP_PRIVATE_KEY }}
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
path: charts-repo
signoff: true
token: ${{ steps.generate-token.outputs.token }}
title: 'Update charts to new release'
commit-message: Update charts
committer: GitHub <[email protected]>
delete-branch: true
You can easily modify the above to support more than a single chart.
It is recommended to add a workflow for linting and testing the chart. See examples for a chart-testing workflow and a KubeLinter workflow.
When creating a new release of your project, be sure to update the version accordingly:
- Use Semantic Versioning
- Update the
version
field in theChart.yaml
file of your chart if the chart has changed since the last release. - Create a tag/release using the
vX.Y.Z
naming convention.
A pull request is automatically created in this charts repository after a tag is created.