{"id":13563926,"url":"https://github.com/helm/chart-releaser-action","last_synced_at":"2025-05-14T07:08:28.654Z","repository":{"id":38257273,"uuid":"223775198","full_name":"helm/chart-releaser-action","owner":"helm","description":"A GitHub Action to turn a GitHub project into a self-hosted Helm chart repo, using helm/chart-releaser CLI tool","archived":false,"fork":false,"pushed_at":"2025-01-20T11:34:35.000Z","size":100,"stargazers_count":610,"open_issues_count":68,"forks_count":215,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-05-11T07:02:03.717Z","etag":null,"topics":["actions","charts","ci-cd","github-pages","helm","helm-repositories","kubernetes"],"latest_commit_sha":null,"homepage":"https://github.com/helm/chart-releaser","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/helm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-11-24T16:33:12.000Z","updated_at":"2025-05-06T14:26:23.000Z","dependencies_parsed_at":"2023-02-06T06:02:37.347Z","dependency_job_id":"0dcd58a8-26a5-4160-91ea-6ef657cc3438","html_url":"https://github.com/helm/chart-releaser-action","commit_stats":{"total_commits":72,"total_committers":32,"mean_commits":2.25,"dds":0.8194444444444444,"last_synced_commit":"d1e09fd16821c091b45aa754f65bae4dd675d425"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helm%2Fchart-releaser-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helm%2Fchart-releaser-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helm%2Fchart-releaser-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helm%2Fchart-releaser-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/helm","download_url":"https://codeload.github.com/helm/chart-releaser-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092776,"owners_count":22013290,"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":["actions","charts","ci-cd","github-pages","helm","helm-repositories","kubernetes"],"created_at":"2024-08-01T13:01:24.629Z","updated_at":"2025-05-14T07:08:28.636Z","avatar_url":"https://github.com/helm.png","language":"Shell","funding_links":[],"categories":["Shell","kubernetes","📖 Category Details"],"sub_categories":["**17. Container Orchestration (Kubernetes/ECS)**"],"readme":"# _chart-releaser_ Action\n\nA GitHub action to turn a GitHub project into a self-hosted Helm chart repo, using [helm/chart-releaser](https://github.com/helm/chart-releaser) CLI tool.\n\n## Usage\n\n### Pre-requisites\n\n1. A GitHub repo containing a directory with your Helm charts (default is a folder named `/charts`, if you want to\n   maintain your charts in a different directory, you must include a `charts_dir` input in the workflow).\n1. A GitHub branch called `gh-pages` to store the published charts.\n1. In your repo, go to Settings/Pages. Change the `Source` `Branch` to `gh-pages`.\n1. Create a workflow `.yml` file in your `.github/workflows` directory. An [example workflow](#example-workflow) is available below.\n   For more information, reference the GitHub Help Documentation for [Creating a workflow file](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file)\n\n### Inputs\n\n- `version`: The chart-releaser version to use (default: v1.7.0)\n- `config`: Optional config file for chart-releaser. For more information on the config file, see the [documentation](https://github.com/helm/chart-releaser#config-file)\n- `charts_dir`: The charts directory\n- `skip_packaging`: This option, when populated, will skip the packaging step. This allows you to do more advanced packaging of your charts (for example, with the `helm package` command) before this action runs. This action will only handle the indexing and publishing steps.\n- `skip_existing`: Skip package upload if release/tag already exists\n- `skip_upload`: This option, when populated, will skip the upload step. This allows you to do more advanced uploading of your charts (for exemple with OCI based repositories) which doen't require the `index.yaml`.\n- `mark_as_latest`: When you set this to `false`, it will mark the created GitHub release not as 'latest'.\n- `packages_with_index`: When you set this to `true`, it will upload chart packages directly into publishing branch.\n- `pages_branch`: Name of the branch to be used to push the index and artifacts. (default to: gh-pages but it is not set in the action it is a default value for the chart-releaser binary)\n\n### Outputs\n\n- `changed_charts`: A comma-separated list of charts that were released on this run. Will be an empty string if no updates were detected, will be unset if `--skip_packaging` is used: in the latter case your custom packaging step is responsible for setting its own outputs if you need them.\n- `chart_version`: The version of the most recently generated charts; will be set even if no charts have been updated since the last run.\n\n### Environment variables\n\n- `CR_TOKEN` (required): The GitHub token of this repository (`${{ secrets.GITHUB_TOKEN }}`)\n\nFor more information on environment variables, see the [documentation](https://github.com/helm/chart-releaser#environment-variables).\n\n### Example Workflow\n\nCreate a workflow (eg: `.github/workflows/release.yml`):\n\n```yaml\nname: Release Charts\n\non:\n  push:\n    branches:\n      - main\n\njobs:\n  release:\n    # depending on default permission settings for your org (contents being read-only or read-write for workloads), you will have to add permissions\n    # see: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token\n    permissions:\n      contents: write\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v4\n        with:\n          fetch-depth: 0\n\n      - name: Configure Git\n        run: |\n          git config user.name \"$GITHUB_ACTOR\"\n          git config user.email \"$GITHUB_ACTOR@users.noreply.github.com\"\n\n      - name: Run chart-releaser\n        uses: helm/chart-releaser-action@v1.7.0\n        env:\n          CR_TOKEN: \"${{ secrets.GITHUB_TOKEN }}\"\n```\n\nThis uses [@helm/chart-releaser-action](https://www.github.com/helm/chart-releaser-action) to turn your GitHub project into a self-hosted Helm chart repo.\nIt does this – during every push to `main` – by checking each chart in your project, and whenever there's a new chart version, creates a corresponding [GitHub release](https://help.github.com/en/github/administering-a-repository/about-releases) named for the chart version, adds Helm chart artifacts to the release, and creates or updates an `index.yaml` file with metadata about those releases, which is then hosted on GitHub Pages. You do not need an `index.yaml` file in `main` at all because it is managed in the `gh-pages` branch.\n\n#### Example using custom config\n\n`workflow.yml`:\n\n```yaml\n- name: Run chart-releaser\n  uses: helm/chart-releaser-action@v1.7.0\n  with:\n    charts_dir: charts\n    config: cr.yaml\n  env:\n    CR_TOKEN: \"${{ secrets.GITHUB_TOKEN }}\"\n```\n\n`cr.yaml`:\n\n```yaml\nowner: myaccount\ngit-base-url: https://api.github.com/\n```\n\nFor options see [config-file](https://github.com/helm/chart-releaser#config-file).\n\n## Code of conduct\n\nParticipation in the Helm community is governed by the [Code of Conduct](CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelm%2Fchart-releaser-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhelm%2Fchart-releaser-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelm%2Fchart-releaser-action/lists"}