Skip to content

[Automated] Update helm CLI Options#2533

Merged
thomhurst merged 1 commit into
mainfrom
automated/update-cli-options-helm
Apr 26, 2026
Merged

[Automated] Update helm CLI Options#2533
thomhurst merged 1 commit into
mainfrom
automated/update-cli-options-helm

Conversation

@thomhurst
Copy link
Copy Markdown
Owner

Summary

This PR contains automatically generated updates to helm CLI options classes.

The generator scraped the latest CLI help output from the installed tool.

Changes

  • Updated options classes to reflect latest CLI documentation
  • Added new commands if any were detected
  • Updated option types and descriptions

Verification

  • Solution builds successfully

🤖 Generated with ModularPipelines.OptionsGenerator

@thomhurst thomhurst added automated dependencies Pull requests that update a dependency file labels Apr 26, 2026
@thomhurst thomhurst enabled auto-merge (squash) April 26, 2026 03:44
@codacy-production
Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity

Metric Results
Complexity 0 (≤ 20 complexity)

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

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

Code Review: PR #2533 — [Automated] Update helm CLI Options

Change scope: 1 file, 1 line — only the GeneratedAt timestamp in AssemblyInfo.Generated.cs advances from 2026-04-19 to 2026-04-26. No helm option/service/extension files changed.

This PR is functionally a no-op, which surfaces two meaningful design gaps in the automated workflow rather than in the generated code itself.


Issue 1 — Timestamp-only PRs create noise with no signal

The change-detection step in .github/workflows/generate-cli-options.yml uses git diff --staged --quiet --ignore-all-space --ignore-blank-lines, which correctly ignores whitespace but does not exclude AssemblyInfo.Generated.cs. Because GeneratedAt always advances whenever the generator runs — even when helm's CLI hasn't changed — every weekly run opens a PR per tool whether or not anything substantive happened. Looking at the current batch (#2529#2537), many appear to be in the same category.

Suggested fix — exclude the timestamp file from change detection:

- name: Check for changes
  id: changes
  run: |
    git add 'src/**/*.cs'
    if git diff --staged --quiet --ignore-all-space --ignore-blank-lines \
       -- ':(exclude)src/**/AssemblyInfo.Generated.cs'; then
      echo "has_changes=false" >> $GITHUB_OUTPUT
    else
      echo "has_changes=true" >> $GITHUB_OUTPUT
    fi

The timestamp file can still be included in the commit when real changes exist; the exclusion only controls whether a PR is opened at all. Alternatively, the generator itself (likely CodeGeneratorOrchestrator) could skip writing AssemblyInfo.Generated.cs unless at least one other generated file changed.

Why this matters: Reviewing, merging, or dismissing these no-op PRs adds ongoing overhead and dilutes attention for PRs that contain real changes.


Issue 2 — Auto-merge is enabled unconditionally for all automated PRs

- name: Enable auto-merge
  if: steps.create-pr.outputs.pull-request-number
  run: gh pr merge ${{ steps.create-pr.outputs.pull-request-number }} --auto --squash

Auto-merge is enabled the moment any PR is created by this workflow. This means if a new helm command is added, or a heuristic in HeuristicTypeDetector/ManualOverrideDetector misclassifies a flag (e.g., a string enum inferred as bool), it silently lands on main without human review, as long as CI passes. Generated code that compiles successfully can still be semantically wrong.

Suggested fix — require human review for PRs with substantive option changes, auto-merge only for trivial ones:

- name: Enable auto-merge
  if: steps.create-pr.outputs.pull-request-number
  run: |
    CHANGED=$(git diff HEAD~1 --name-only -- 'src/**/*.cs' \
      ':(exclude)src/**/AssemblyInfo.Generated.cs' | wc -l)
    if [ "$CHANGED" -eq 0 ]; then
      gh pr merge ${{ steps.create-pr.outputs.pull-request-number }} --auto --squash
    else
      echo "Substantive option changes detected — skipping auto-merge, manual review required"
    fi
  env:
    GH_TOKEN: ${{ secrets.CLI_SCRAPER_PAT_TOKEN }}

Why this matters: CI tests verify that code compiles and existing behavior is preserved, not that newly generated option types correctly model a CLI's semantics. A human spot-check of new/changed option classes is a low-cost safeguard against heuristic misclassification reaching users.


Minor: verify action versions

actions/checkout@v6 and peter-evans/create-pull-request@v8 — as of early 2026, the latest stable major versions are actions/checkout@v4 and peter-evans/create-pull-request@v7. Using a non-existent or pre-release tag can silently fall back or fail. Worth verifying these resolve to intended releases, or pinning to commit SHAs for security-sensitive steps.


Summary

The generated content is correct — helm's CLI was unchanged and the generator recorded that faithfully. But the workflow that produced this PR has two design gaps worth addressing: (1) timestamp-only PRs should not be opened at all, and (2) auto-merge on substantive generated changes needs a human gate. Both issues apply equally to all ~40 tool-specific automated PRs in this batch.

@thomhurst thomhurst merged commit 8cc052f into main Apr 26, 2026
12 checks passed
@thomhurst thomhurst deleted the automated/update-cli-options-helm branch April 26, 2026 03:54
@claude claude Bot mentioned this pull request May 3, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant