This guide provides step-by-step instructions for publishing new versions of the GitHub Actions Runner controller Helm charts using the automated GitHub Actions workflow.
The GHA Helm chart publishing process is handled by two workflows:
- gha-bump-and-publish-charts.yaml - Bumps chart versions and creates a PR
- gha-publish-chart.yaml - Builds the controller image and publishes the Helm charts
The process automatically updates version numbers in the charts, creates a PR for review, and then triggers the publishing workflow to build and publish both the controller image and Helm charts.
The workflow publishes two Helm charts:
- gha-runner-scale-set-controller - The controller chart
- gha-runner-scale-set - The runner scale set chart
Both charts are published as OCI artifacts to the GitHub Container Registry (GHCR).
- Write access to the repository
- Permissions to trigger GitHub Actions workflows
- Navigate to the Actions tab in the repository
- Select the "Bump and Publish GHA Helm Charts" workflow
- Click "Run workflow"
- Enter the required parameters:
- new_version: The new version number for the charts (e.g.,
0.10.2
) - ref: (Optional) The branch, tag, or SHA to cut a release from (leave empty to use the default branch)
- push_to_registries: Whether to push images to container registries (set to
true
for actual releases)
- new_version: The new version number for the charts (e.g.,
- Click "Run workflow"
When the workflow runs, it performs the following steps:
The workflow automatically:
- Checks out the specified reference (or default branch)
- Configures Git with the user information
- Updates the version and appVersion fields in:
- Verifies that the updated versions match using hack/check-gh-chart-versions.sh
The workflow:
- Creates a new pull request with:
- Title:
chore: bump chart versions to {new_version}
- Branch name:
bump-chart-version-{new_version}
- Base branch:
master
- Description detailing which charts are being updated
- Title:
- Maintainers should review the PR to ensure the version changes are correct
- After approval, the PR can be merged to the master branch
After the PR is merged, you need to manually trigger the publish workflow:
- Navigate to the Actions tab in the repository
- Select the "(gha) Publish Helm Charts" workflow
- Click "Run workflow"
- Enter the required parameters:
- ref: (Optional) Reference to publish from (leave empty to use default branch)
- release_tag_name: Version tag for the controller image (should match the new chart version)
- push_to_registries: Set to
true
to publish images to registries - publish_gha_runner_scale_set_controller_chart: Set to
true
to publish the controller chart - publish_gha_runner_scale_set_chart: Set to
true
to publish the runner scale set chart
- Click "Run workflow"
Alternatively, if you use the automated process, after the PR is merged, the "Bump and Publish" workflow will automatically trigger the "Publish Helm Charts" workflow with the appropriate parameters.
The publish workflow performs:
-
Building and pushing the controller image:
- Builds the image for multiple platforms (linux/amd64, linux/arm64)
- Tags the image with the specified version
- Pushes to GHCR
-
Publishing the Helm charts:
- Packages the Helm charts with the updated version
- Pushes the charts to GHCR as OCI artifacts
After the workflows complete:
-
Verify that the controller image is published to GHCR:
ghcr.io/{org}/gha-runner-scale-set-controller:{version}
ghcr.io/{org}/gha-runner-scale-set-controller:{version}-{short_sha}
-
Verify that the Helm charts are published to GHCR:
ghcr.io/{org}/actions-runner-controller-charts/gha-runner-scale-set-controller:{version}
ghcr.io/{org}/actions-runner-controller-charts/gha-runner-scale-set:{version}
https://github.com/orgs/devzero-inc/packages?repo_name=actions-runner-controller
If the publish workflow fails after the PR is merged, you can manually trigger it with the correct parameters.