Skip to content

fix: helm-only release is a no-op when chart name lacks helm- prefix#406

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/fix-helm-only-release-no-op
Draft

fix: helm-only release is a no-op when chart name lacks helm- prefix#406
Copilot wants to merge 3 commits intomainfrom
copilot/fix-helm-only-release-no-op

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 12, 2026

Chart names are stored internally with a helm- prefix (e.g., helm-manmanv2-control-services), but by convention workflow inputs omit it (e.g., manmanv2-control-services). Both plan_helm_release and find_helm_chart_bazel_target used exact-string matching, so user-provided names never matched, producing an empty plan and silently skipping all build/publish steps.

Changes

  • cli.pyplan_helm_release: matching now also checks c['name'] == f"helm-{req}", accepting names with or without the prefix
  • helm.pyfind_helm_chart_bazel_target: same prefix-aware matching applied to the lower-level lookup used by build-helm-chart
  • test_exclude_demo.py: added TestPlanHelmReleaseChartNameMatching (4 cases) and TestFindHelmChartBazelTargetNameMatching (3 cases) covering both name forms, mixed input, and unknown chart behavior
# Before: only exact match
matching = [c for c in all_charts if c['name'] == req or c['domain'] == req]

# After: also matches name without "helm-" prefix
matching = [
    c for c in all_charts
    if c['name'] == req or c['domain'] == req or c['name'] == f"helm-{req}"
]

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • pigweed.googlesource.com
    • Triggering command: /usr/lib/git-core/git-remote-https /usr/lib/git-core/git-remote-https origin REDACTED (dns block)
    • Triggering command: /usr/lib/git-core/git-remote-https /usr/lib/git-core/git-remote-https origin REDACTED -collect-logs (dns block)
    • Triggering command: /usr/lib/git-core/git-remote-https /usr/lib/git-core/git-remote-https origin REDACTED rything (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested review from Copilot and removed request for Copilot April 12, 2026 21:15
Copilot AI linked an issue Apr 12, 2026 that may be closed by this pull request
The plan_helm_release CLI command and find_helm_chart_bazel_target
function now accept chart names both with and without the internal
"helm-" prefix.

Previously, passing "manmanv2-control-services" (as documented in
SKILL.md and as users naturally do) would fail to match the internally
stored chart name "helm-manmanv2-control-services", resulting in an
empty chart plan and a no-op release.

Affected functions:
- plan_helm_release in cli.py: matching now also checks c['name'] == f"helm-{req}"
- find_helm_chart_bazel_target in helm.py: same prefix-aware matching

Tests added to test_exclude_demo.py:
- TestPlanHelmReleaseChartNameMatching: 4 cases covering name with/without prefix
- TestFindHelmChartBazelTargetNameMatching: 3 cases covering both lookup paths

Agent-Logs-Url: https://github.com/whale-net/everything/sessions/f524cf2a-da50-4661-8fe3-14ef78f8ba7f

Co-authored-by: QMasterMoo <3915399+QMasterMoo@users.noreply.github.com>
Copilot AI requested review from Copilot and removed request for Copilot April 12, 2026 21:22
Copilot AI requested review from Copilot and removed request for Copilot April 12, 2026 21:24
Copilot AI changed the title [WIP] Fix helm-only release no-op issue fix: helm-only release is a no-op when chart name lacks helm- prefix Apr 12, 2026
Copilot AI requested a review from QMasterMoo April 12, 2026 21:24
@QMasterMoo
Copy link
Copy Markdown
Member

@copilot I have fixed the firewall, try again without go build/test

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 13, 2026

@copilot I have fixed the firewall, try again without go build/test

Tests now run successfully with Bazel:

  • //tools/release_helper:test_exclude_demoPASSED ✅ (all 14 tests, including the 7 new prefix-matching tests)
  • //tools/release_helper:test_helm_app_versionsFAILED ❌ (test_resolve_versions_with_released_versions — pre-existing failure confirmed present before my changes)

Note: bazel test needs --server_javabase=/usr/lib/jvm/temurin-21-jdk-amd64 on this runner to pick up the proxy's CA cert (Bazel 8.3.1 requires Java 21+). The CI runner should work fine as the MITM cert is already in the system Java trust stores.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • telemetry2.aspect.build
    • Triggering command: /usr/bin/curl /usr/bin/curl --location --max-time 1 --connect-timeout 0.5 --request POST --post302 --header Content-Type:application/json --data @report.json REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

helm-only release was no-op

2 participants