fix(pack-release): make tag-paths optional for charts without first-party images - #48
Merged
viniciusdc merged 1 commit intoJul 22, 2026
Conversation
oren-openteams
marked this pull request as ready for review
July 22, 2026 20:01
viniciusdc
approved these changes
Jul 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Make
tag-pathsoptional inpack-release.yaml. Currently the workflow assumes every caller has at least one first-party (org-owned) image tag to pin tosha-<short>at release time. Charts that don't ship any first-party images — e.g. wrappers around third-party charts that only reference upstream base images — can't use this workflow today: passingtag-paths: ""(or omitting the input) fails the "Pin image tags to release sha" step.Root cause
pin_image_tags.py:70-75validateslen(argv) < 4and exits 2 when no paths are provided. The workflow step calls the script with[script, values-file, sha-tag](three args, no paths), triggering the usage-message exit path. The step fails, and everything downstream (Set up Helm, Package chart, Create GitHub Release, Sync to helm-repository) is skipped.Fix
Two additive changes to
pack-release.yaml:tag-pathsinput becomes optional —required: false,default: "". Documented in the input's description block.pin_image_tags.pycall and log a "nothing to pin" message when the parsed paths array is empty.The
pin_image_tags.pyscript itself is unchanged — its strict argv check remains a useful guard against typos when tag paths are declared. The change is entirely at the workflow layer.Behavior after this PR
tag-paths: "operator.image.tag"tag-paths: ""Test plan
tag-pathscontinue to pin as before (script argv is identical; script logic unchanged).tag-pathsproceed through package → release → helm-repository sync without touchingvalues.yaml.Motivation
Some charts in the ecosystem legitimately don't ship first-party images — for example, a chart that wraps a third-party operator and configures it via values without shipping any bespoke worker image. Those charts should still benefit from the shared release automation (consistent tag naming, auto-publish to
nebari-dev/helm-repository, idempotent re-runs).After merge
Once this merges to
main, thev1tag needs to move to include this commit so downstream consumers pick up the fix. Assumingv1continues to be maintained as a mutable "latest v1.x" pointer (currentlyv1 == main), no consumer action is needed beyond the next Chart.yaml bump they push.