Skip to content

feat(dispatch-helm): leave components mapped to null out of the chart update - #951

Open
guimoreirar wants to merge 1 commit into
developfrom
feat/dispatch-helm-skip-null-mapping
Open

guimoreirar wants to merge 1 commit into
developfrom
feat/dispatch-helm-skip-null-mapping

Conversation

@guimoreirar

Copy link
Copy Markdown
Member

What

dispatch-helm now leaves a component out of the chart update when it is mapped to null in values_key_mappings (helm_values_key_mappings in go-release).

helm_values_key_mappings: '{"my-app": "app", "my-app-migrations": "app.migrations", "my-app-mock": null}'

Unmapped components keep the existing fallback (their own name as the values key), so current callers are unaffected.

Why

extra_builds images always join the central Helm dispatch (enable_helm_dispatch per group only decides whether a group dispatches on its own). An image the chart does not deploy, such as a test mock, had no way out: it fell back to its name and helm-update-chart wrote <component>.image.tag at the root of values.yaml, where nothing reads it. Seen in LerianStudio/helm#2554 with plugin-br-bank-transfer-mock-jd (fixed by hand there).

Changes

  • .github/workflows/dispatch-helm.yml: skip a component whose mapping is explicitly null; input description updated.
  • docs/dispatch-helm.md, docs/go-release.md: document null and that nested keys (app.migrations) are allowed.

Testing

actionlint and YAML parse pass. The skip predicate was exercised against: a mapping with null (only that component skipped), without null, empty, and a non-object value (nothing skipped). The skip happens before the payload append, so the JSON array stays well-formed.

First consumer: LerianStudio/plugin-br-bank-transfer (maps its mock-jd image to null).

🤖 Generated with Claude Code

… update

An extra_builds image the chart does not deploy (a test mock, for example)
had no way out of the central Helm dispatch: unmapped components fall back
to their own name as the values key, so helm-update-chart wrote
<component>.image.tag at the root of values.yaml, where nothing reads it
(seen in LerianStudio/helm#2554 with plugin-br-bank-transfer-mock-jd).

A component mapped to null in values_key_mappings / helm_values_key_mappings
is now skipped. Unmapped components keep the old fallback, so existing
callers are unaffected. Docs also note that nested keys (app.migrations)
are allowed.
@guimoreirar
guimoreirar requested a review from a team as a code owner October 21, 2026 14:01
@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: LerianStudio/github-actions-shared-workflows/.coderabbit.yml
  • Review profile: ASSERTIVE
  • Plan: Essentials
  • Run ID: 48b2a16c-8117-4692-8a5c-38f45d3271c8
📥 Commits

Reviewing files that changed from the base of the PR and between db92c72 and 39119bb.

📒 Files selected for processing: 3
  • .github/workflows/dispatch-helm.yml
  • docs/dispatch-helm.md
  • docs/go-release.md

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Walkthrough

The Helm dispatch workflow now skips components mapped to null. The input documentation describes nested keys, null exclusions, and fallback behavior for unmapped components.

Changes

Helm mapping behavior

Layer / File(s) Summary
Component mapping and exclusion
.github/workflows/dispatch-helm.yml, docs/dispatch-helm.md, docs/go-release.md
The workflow skips components mapped to null. Other components retain mapped-key or name-fallback processing. The documentation describes nested mappings and these behaviors.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Suggested reviewers: bedatty

Merge Risk: ⚪ Minimal · up to 39119

No actionable merge-blocking risk remains.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly describes the main behavior change: components mapped to null are excluded from Helm chart updates.
Description check Passed The description explains what changed, why it changed, affected workflows, fallback behavior, testing, and the first consumer. It omits the template headings for Type of Change and Related Issues, and…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description explains what changed, why it changed, affected workflows, fallback behavior, testing, and the first consumer. It omits the template headings for Type of Change and Related Issues, and it does not provide a caller workflow run link, but the required technical context is mostly complete.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (3 skipped: 3 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@lerian-studio lerian-studio added size/XS PR changes < 50 lines documentation Improvements or additions to documentation workflow Changes to one or more reusable workflow files labels Oct 21, 2026
@lerian-studio

Copy link
Copy Markdown
Contributor

🔍 PR Validation Summary

✅ PR Mergeable — no blocking failures

Check Status Blocking
Source Branch ✅ success yes
PR Title ✅ success yes
PR Description ✅ success yes
Breaking Change Guard ✅ success yes
Commit Signatures ✅ success yes
PR Size ✅ success no
Auto Labels ✅ success no
PR Metadata ✅ success no

🔍 View workflow run

@lerian-studio

Copy link
Copy Markdown
Contributor

🛡️ CodeQL Analysis Results

Languages analyzed: actions

✅ No security issues found.


🔍 View full scan logs | 🛡️ Security tab

@lerian-studio

Copy link
Copy Markdown
Contributor

@coderabbitai review

@lerian-studio

Copy link
Copy Markdown
Contributor

🔍 Lint Analysis

Check Files Scanned Status
YAML Lint 1 file(s) ✅ success
Action Lint 1 file(s) ✅ success
Pinned Actions 1 file(s) ✅ success
Markdown Link Check 2 file(s) ✅ success
Spelling Check 3 file(s) ✅ success
Shell Check 1 file(s) ✅ success
README Check 1 file(s) ✅ success
Composite Schema no changes ⏭️ skipped
Deployment Matrix no changes ⏭️ skipped

🔍 View full scan logs

@lerian-studio lerian-studio added the review-ready Required checks passed — CodeRabbit is cleared to review label Oct 21, 2026
@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

This branch has not been deployed

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

Labels

documentation Improvements or additions to documentation review-ready Required checks passed — CodeRabbit is cleared to review size/XS PR changes < 50 lines workflow Changes to one or more reusable workflow files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants