-
Notifications
You must be signed in to change notification settings - Fork 0
ci: publish helm chart to oci ghcr.io #214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Update checkout action to v5.0.1 SHA matching repo standard - Add strict error handling with set -euo pipefail - Fix stderr/stdout redirection for better portability - Add digest extraction validation with helpful error output Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds a GitHub Actions workflow to automatically publish the Helm chart to GitHub Container Registry (ghcr.io) when version tags are pushed. The workflow packages the chart, pushes it to an OCI registry, and signs it with Cosign for supply chain security.
Changes:
- Adds automated Helm chart publishing workflow triggered by version tags (v*)
- Implements Cosign signing for published Helm charts using keyless OIDC-based signing
- Updates Chart.yaml version and appVersion dynamically from Git tags
Use helm show chart to extract the actual chart name instead of parsing the filename, which fails when version contains dashes. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add --certificate-identity-regexp and --certificate-oidc-issuer flags required for verifying artifacts signed with Sigstore keyless signing. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
approved, but probably it's good if @ChrisJBurns also takes a look? |
yep, makes sense, I pinged him as well. I tested the workflow and cosign and both work as expected |
ChrisJBurns
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Although a note for future, you may want to use something like https://github.com/stacklok/releaseo. I made it specifically for the problem around Helm Chart releases and app version updates. Currently in this PR you modify the files in the pipeline and publish them, this means there are files that are being pushed that can't be traced back to a source commit. Releaseo makes release PRs that write the version changes into Git and allow you to build your releases from them.
That's amazing. I will take a look and add it |
Summary
Add GitHub Actions workflow to publish Helm chart to OCI registry (ghcr.io) with Cosign signing for supply chain security.
Changes
Motivation
Usage
Install chart
helm install toolhive-cloud-ui oci://ghcr.io/stacklok/toolhive-cloud-ui/toolhive-cloud-ui --version
Verify signature
Test
I tested the gh action publishing tag
v0.0.0-rc.test- https://github.com/stacklok/toolhive-cloud-ui/pkgs/container/toolhive-cloud-ui