Skip to content

feat(helm): publish chart to OCI registry on release#3508

Merged
tekton-robot merged 1 commit into
tektoncd:mainfrom
jkhelil:feat/helm-oci-publish
Jun 18, 2026
Merged

feat(helm): publish chart to OCI registry on release#3508
tekton-robot merged 1 commit into
tektoncd:mainfrom
jkhelil:feat/helm-oci-publish

Conversation

@jkhelil

@jkhelil jkhelil commented Jun 18, 2026

Copy link
Copy Markdown
Member

Summary

  • Add OCI publishing step to the helm-release workflow so the Tekton Operator Helm chart is available at oci://ghcr.io/tektoncd/operator/charts/tekton-operator on every release, in addition to the existing GitHub Pages Helm repository.
  • Adds packages: write permission to the job.
  • Uses docker/login-action (SHA-pinned, consistent with repo security posture) for ghcr.io authentication.

Motivation

The chart is currently only distributed via git+https://github.com/tektoncd/operator@charts?ref=main, which Flux CD's HelmRepository cannot consume (it requires https:// index or oci://). Users forced to use a GitRepository source pointing to the git tag get version: "devel" from the raw Chart.yaml, which Flux rejects as invalid semver.

Publishing to OCI allows Flux users to use the standard pattern:

apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
  name: tekton-operator
  namespace: flux-system
spec:
  type: oci
  url: oci://ghcr.io/tektoncd/operator/charts
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
spec:
  chart:
    spec:
      chart: tekton-operator
      version: "0.80.0"

Closes #3493

Test plan

  • Merge and cherry-pick onto release-v0.80.x
  • Delete and recreate v0.80.0 tag to trigger the workflow
  • Verify package appears at https://github.com/orgs/tektoncd/packages/container/package/operator%2Fcharts%2Ftekton-operator
  • Verify helm pull oci://ghcr.io/tektoncd/operator/charts/tekton-operator --version 0.80.0 succeeds
  • Verify Flux CD HelmRepository with type: oci installs successfully

Made with Cursor

Add OCI publishing step to the helm-release workflow so the chart
is available at oci://ghcr.io/tektoncd/operator/charts/tekton-operator
in addition to the existing GitHub Pages Helm repository.

This enables Flux CD users to consume the chart via a HelmRepository
with type: oci, avoiding the GitRepository workaround that exposes
version: "devel" from the raw git source.

Uses docker/login-action (SHA-pinned) for ghcr.io authentication and
helm push for the OCI publish step. Adds packages: write permission
to the job.

Signed-off-by: Jawed khelil <jkhelil@redhat.com>
Assisted-by: Claude Sonnet 4.6 (via Cursor)
Co-authored-by: Cursor <cursoragent@cursor.com>
@tekton-robot tekton-robot added the do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. label Jun 18, 2026
@tekton-robot tekton-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jun 18, 2026
@jkhelil

jkhelil commented Jun 18, 2026

Copy link
Copy Markdown
Member Author

/release-note-none

@tekton-robot tekton-robot added release-note-none Denotes a PR that doesnt merit a release note. and removed do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Jun 18, 2026
@jkhelil

jkhelil commented Jun 18, 2026

Copy link
Copy Markdown
Member Author

/kind misc

@tekton-robot tekton-robot added the kind/misc Categorizes issue or PR as a miscellaneuous one. label Jun 18, 2026

@vdemeester vdemeester left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sense ! We'll want to make sure the oci repository is public after the first build, but I think it makes a lot of sense !

@tekton-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: vdemeester

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 18, 2026
@pratap0007

Copy link
Copy Markdown
Contributor

/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Jun 18, 2026
@tekton-robot tekton-robot merged commit a7aad71 into tektoncd:main Jun 18, 2026
16 checks passed
@jkhelil

jkhelil commented Jun 19, 2026

Copy link
Copy Markdown
Member Author

/cherry-pick release-v0.80.x

@tekton-robot

Copy link
Copy Markdown
Contributor

Cherry-pick to release-v0.80.x successful!

A new pull request has been created to cherry-pick this change to release-v0.80.x.

PR: #3511

Please review and merge the cherry-pick PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. kind/misc Categorizes issue or PR as a miscellaneuous one. lgtm Indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesnt merit a release note. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[chart] invalid Chart version - Flux CD validation error

4 participants