[Automated] Update helm CLI Options#2533
Conversation
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | ✅ 0 (≤ 20 complexity) |
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.
There was a problem hiding this comment.
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
fiThe 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 --squashAuto-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.
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
Verification
🤖 Generated with ModularPipelines.OptionsGenerator