{"id":15676791,"url":"https://github.com/nflaig/semantic-release-helm","last_synced_at":"2025-05-06T20:44:47.175Z","repository":{"id":42037920,"uuid":"480785309","full_name":"nflaig/semantic-release-helm","owner":"nflaig","description":"semantic-release plugin to publish Helm charts","archived":false,"fork":false,"pushed_at":"2025-04-09T14:39:48.000Z","size":239,"stargazers_count":17,"open_issues_count":4,"forks_count":14,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-26T13:53:02.799Z","etag":null,"topics":["helm","helm-charts","release","semantic-release","semantic-release-plugin","version"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nflaig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-04-12T11:42:14.000Z","updated_at":"2025-04-14T02:43:37.000Z","dependencies_parsed_at":"2023-09-23T04:16:33.925Z","dependency_job_id":null,"html_url":"https://github.com/nflaig/semantic-release-helm","commit_stats":{"total_commits":69,"total_committers":5,"mean_commits":13.8,"dds":0.5217391304347826,"last_synced_commit":"17058148f1fac7d561daf311e098b8d7e410e3a2"},"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nflaig%2Fsemantic-release-helm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nflaig%2Fsemantic-release-helm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nflaig%2Fsemantic-release-helm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nflaig%2Fsemantic-release-helm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nflaig","download_url":"https://codeload.github.com/nflaig/semantic-release-helm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252769121,"owners_count":21801373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["helm","helm-charts","release","semantic-release","semantic-release-plugin","version"],"created_at":"2024-10-03T16:05:36.172Z","updated_at":"2025-05-06T20:44:47.152Z","avatar_url":"https://github.com/nflaig.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# semantic-release-helm3\n\n[semantic-release](https://github.com/semantic-release/semantic-release) plugin to publish [Helm](https://helm.sh/) charts.\n\n[![Latest version][npm-version-badge]][npm-package]\n[![License][license-badge]][license]\n[![Downloads][npm-downloads-badge]][npm-package]\n[![Total Downloads][npm-total-downloads-badge]][npm-package]\n\n| Step               | Description                                               |\n| ------------------ | --------------------------------------------------------- |\n| `verifyConditions` | Verify required configuration and login to Helm registry. |\n| `prepare`          | Update `version` and/or `appVersion` in _Chart.yaml_.     |\n| `publish`          | Publish Helm chart to registry.                           |\n\n\u003e **NOTE:** This is a fork of [semantic-release-helm](https://github.com/m1pl/semantic-release-helm) with added support\n\u003e for [ChartMuseum](https://github.com/helm/chartmuseum) repositories such as [Harbor](https://goharbor.io/) by utilizing\n\u003e the [helm cm-push](https://github.com/chartmuseum/helm-push) plugin. It also supports helm versions \u003e=3.7.0 and pre-release branches.\n\nThis is a plugin for _semantic-release_. It updates `version` and `appVersion` of a [Helm](https://helm.sh/) chart's\n_Chart.yaml_.\n\nThe `version` and `appVersion` are updated according to `nextRelease.version`.\nUpdating the `appVersion` is optional and can be disabled by setting `onlyUpdateVersion` to `true`.\n\n## Install\n\n```bash\nnpm install semantic-release-helm3 -D\n```\n\n## BREAKING CHANGE in v2\n\n`path` has been renamed to `chartPath` to prevent config conflicts.\n\n##### Examples:\n\n```txt\nversion 0.1.0  \nappVersion 1.16.0\n```\n\n1. patch (1.16.0 -\u003e 1.16.1)  \n   New chart version is 0.1.1\n\n2. minor (1.16.0 -\u003e 1.17.0)  \n   New chart version is 0.2.0\n\n3. major (1.16.0 -\u003e 2.0.0)  \n   New chart version is 1.0.0\n\n## Configuration\n\n### Plugin Config\n\n| Parameter           | Type      | Default | Required | Description                                                                                                                           |\n| ------------------- | --------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- |\n| `chartPath`         | `string`  | `cwd`    | `false`   | Path to chart directory where _Chart.yaml_ is located. Defaults to the `CHART_PATH` environment variable, or ultimately falls back to current working directory (`cwd`) if neither is set.                                                                                   |\n| `registry`          | `string`  | `\"\"`    | `false`  | URI of a container registry.                                                                                                          |\n| `onlyUpdateVersion` | `boolean` | `false` | `false`  | Don't change `appVersion` if this is true. Useful if your chart is in a different git repo than the application.                      |\n| `crPublish`         | `boolean` | `false` | `false`  | Enable chart-releaser publishing.                                                                                                     |\n| `crConfigPath`      | `string`  | `\"\"`    | `false`  | Path to .ct.yaml chart-releaser configuration file.                                                                                   |\n| `isChartMuseum`     | `boolean` | `false` | `false`  | Enable ChartMuseum publishing.                                                                                                        |\n| `populateChangelog` | `boolean` | `false` | `false`  | Populate `artifacthub.io/changes` annotations with notes produced by `@semantic-release/release-notes-generator` compatible plugins.  |\n| `skipRegistryLogin` | `boolean` | `false` | `false`  | Skip the `helm registry login` command in the verifyConditions step.                                                                  |\n| `packageArgs`       | `string`  | `\"\"`    | `false`  | Additional parameters for the helm package command, e.g. `--key mykey --keyring ~/.gnupg/secring.gpg`                                 |\n| `cmPushArgs`        | `string`  | `\"\"`    | `false`  | Additional parameters for the helm cm-push command (only relevant if `isChartMuseum` is set to true) e.g. `--context-path /repo/path` |\n\n### Environment Variables\n\nSet chart path\n\n```sh\nexport CHART_PATH=\u003cdir\u003e\n```\n\nPass credentials through environment variables accordingly:\n\n```sh\nexport REGISTRY_HOST=\u003cHOST\u003e\nexport REGISTRY_USERNAME=\u003cUSERNAME\u003e\nexport REGISTRY_PASSWORD=\u003cPASSWORD\u003e\n```\n\nFor S3 pass the AWS credentials as environment variables:\n\n```sh\nexport AWS_REGION=\u003cREGION\u003e\nexport AWS_ACCESS_KEY_ID=\u003cACCESS_KEY_ID\u003e\nexport AWS_SECRET_ACCESS_KEY=\u003cSECRET_ACCESS_KEY\u003e\n```\n\n## Example\n\nThis will update `version` and `appVersion` in `./chart/Chart.yaml`\nand push the chart to `localhost:5000/repo/chart`. The image will be tagged with the value of `version` from\n_Chart.yaml_.\n\n```js\n{\n  \"plugins\": [\n    [\n      \"semantic-release-helm3\",\n      {\n        chartPath: './chart',\n        registry: 'localhost:5000/repo/chart'\n      }\n    ]\n  ]\n}\n```\n\n## ChartMuseum Example\n\nThe [helm cm-push](https://github.com/chartmuseum/helm-push) plugin adds support for [ChartMuseum](https://github.com/helm/chartmuseum)\nrepositories such as [Harbor](https://github.com/goharbor/harbor).\n\nThis will push the chart to the specified repository, e.g. `https://mydomain.com/chartrepo/myproject` and\ntag the chart with the value of `version` from _Chart.yaml_.\n\nIt is important to set `isChartMuseum` to `true` and to specify the repository url as `registry`.\n\n**Note:** It is required to have at least helm version `3.7.0` installed.\n\n```js\n{\n  \"plugins\": [\n    [\n      \"semantic-release-helm3\",\n      {\n        chartPath: './chart',\n        registry: 'https://mydomain.com/chartrepo/myproject',\n        isChartMuseum: true\n      }\n    ]\n  ]\n}\n```\n\n## S3 Example\n\nThe [helm-s3](https://github.com/hypnoglow/helm-s3) plugin adds support for S3. Check the documentation for additional\noptions\n\nThis will update `version` in `./chart/Chart.yaml`\nand push the chart to `s3://my-s3-bucket/s3-prefix`. The image will be tagged with the value of `version` from\n_Chart.yaml_.\n\n```js\n{\n  \"plugins\": [\n    [\n      \"semantic-release-helm3\",\n      {\n        chartPath: './chart',\n        registry: 's3://my-s3-bucket-repo/s3-prefix',\n        onlyUpdateVersion: true,\n      }\n    ]\n  ]\n}\n```\n\n[license]: https://github.com/nflaig/semantic-release-helm/blob/master/LICENSE\n[npm-package]: https://www.npmjs.com/package/semantic-release-helm3\n[npm-version-badge]: https://img.shields.io/npm/v/semantic-release-helm3.svg?style=flat-square\n[npm-downloads-badge]: https://img.shields.io/npm/dw/semantic-release-helm3.svg?label=Downloads\u0026style=flat-square\u0026color=blue\n[npm-total-downloads-badge]: https://img.shields.io/npm/dt/semantic-release-helm3.svg?label=Total%20Downloads\u0026style=flat-square\u0026color=blue\n[license-badge]: https://img.shields.io/github/license/nflaig/semantic-release-helm.svg?color=blue\u0026label=License\u0026style=flat-square\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnflaig%2Fsemantic-release-helm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnflaig%2Fsemantic-release-helm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnflaig%2Fsemantic-release-helm/lists"}