Skip to content

[Automated] Update podman CLI Options#2422

Merged
thomhurst merged 1 commit intomainfrom
automated/update-cli-options-podman
Apr 19, 2026
Merged

[Automated] Update podman CLI Options#2422
thomhurst merged 1 commit intomainfrom
automated/update-cli-options-podman

Conversation

@thomhurst
Copy link
Copy Markdown
Owner

Summary

This PR contains automatically generated updates to podman 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 Feb 22, 2026
@thomhurst thomhurst enabled auto-merge (squash) February 22, 2026 03:29
@thomhurst thomhurst force-pushed the automated/update-cli-options-podman branch from 337d47f to 04c55a1 Compare March 1, 2026 03:13
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: Automated Podman CLI Options Update

This is a clean, well-structured automated PR. The changes correctly reflect the current state of the podman CLI's help output.

Summary of Changes

File Change
AssemblyInfo.Generated.cs Timestamp bump (2026-02-15 → 2026-03-01)
PodmanComposeBuildOptions Removed --provenance, --sbom; updated --quiet description
PodmanComposeConfigOptions Removed --models
PodmanComposeEventsOptions Removed --since, --until
PodmanComposeExecOptions Removed --no-tty / -T
PodmanComposePublishOptions Removed --app
PodmanComposeUpOptions Removed --quiet-build
PodmanImageListOptions / PodmanImagesOptions Updated --sort description (value list reordered)

Assessment

Auto-generated files: All modified files are correctly tagged as auto-generated (via [ExcludeFromCodeCoverage] and the generator metadata), consistent with the project's code generation pattern. Changes should not be made manually.

Correctness: The removals of --provenance, --sbom, --models, --since, --until, --no-tty, --app, and --quiet-build are appropriate — if the CLI no longer exposes these flags, removing them from the options class is the right call.

Potential Breaking Change (informational): Users who previously set Provenance, Sbom, Models, Since, Until, NoTty, App, or QuietBuild on these options records will get a compile error after this update. This is expected and correct behaviour — the underlying CLI flags no longer exist, so the properties should not be available. A note in release notes or changelog (if applicable) would help consumers upgrading.

Sort description updates in PodmanImageListOptions and PodmanImagesOptions are cosmetic doc-string changes only; no functional impact.

Verdict

The changes look correct and the automation is working as intended. No issues to block merging.

@thomhurst thomhurst force-pushed the automated/update-cli-options-podman branch from 04c55a1 to 1a59021 Compare March 8, 2026 03:10
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: Automated Podman CLI Options Update (Re-review)

The previous review (2026-03-01) covered this PR's intent and the changes are consistent with what was assessed then. This is a re-review of the updated generation timestamp and confirming no new issues have been introduced.

Changes vs Previous Review

The only delta from the prior review is the generation timestamp in AssemblyInfo.Generated.cs moving from 2026-03-01 to 2026-03-08, indicating the generator was re-run on the updated machine state. All other changes (property removals, doc-string updates) remain identical.

Assessment

Everything from the prior review still holds:

  • All files are correctly auto-generated; manual edits are intentionally avoided
  • Removals of --provenance, --sbom, --models, --since, --until, --no-tty, --app, and --quiet-build are appropriate — the underlying CLI no longer exposes these flags
  • --sort description updates in PodmanImageListOptions and PodmanImagesOptions are cosmetic only
  • Breaking change impact for consumers who used the removed properties is expected and correct (compile-time error is the right signal)

Previous concern (still informational): Consumers upgrading across this version boundary may want changelog or release note coverage for the removed options properties. This is a project-level decision, not a blocker.

Verdict

No issues. The automation is working correctly and the changes accurately reflect the current podman CLI surface area. ✓

@thomhurst thomhurst force-pushed the automated/update-cli-options-podman branch from 1a59021 to b185c50 Compare March 15, 2026 03:14
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: Automated Podman CLI Options Update (Re-review #3)

This is a third pass over the same PR, with the generator re-run on 2026-03-15T03:13:43Z (previously 2026-03-08, before that 2026-03-01).

Delta from Previous Reviews

The only new change is the generation timestamp bump in AssemblyInfo.Generated.cs:

-[assembly: AssemblyMetadata("ModularPipelines.OptionsGenerator.GeneratedAt", "2026-02-15T03:12:09.6705108Z")]
+[assembly: AssemblyMetadata("ModularPipelines.OptionsGenerator.GeneratedAt", "2026-03-15T03:13:43.6509501Z")]

All substantive changes (property removals, doc-string updates) are identical to the prior two reviews — no new options added or removed since the 2026-03-01 snapshot.

Outstanding Items from Previous Reviews

  • Breaking change note (informational): Previous reviews flagged that consumers using Provenance, Sbom, Models, Since, Until, NoTty, App, or QuietBuild will get compile errors after this update. This is intentional and correct behaviour, but a changelog entry remains advisable. This was flagged in both prior reviews and is still a project-level decision, not a blocker.

Verdict

No new issues introduced. The automation continues to function correctly. The repeated re-runs suggest the generator may be scheduled/triggered multiple times before the PR is merged — if this is unintentional, it may be worth reviewing the scheduling logic to avoid generating unnecessary commits on open PRs. Safe to merge.

@thomhurst thomhurst force-pushed the automated/update-cli-options-podman branch from b185c50 to 9bf5c53 Compare March 22, 2026 03:13
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: Automated Podman CLI Options Update (Re-review #4)

This is the fourth automated-generation pass reviewed on this PR. The generator was re-run on 2026-03-22T03:12:30Z (previously 2026-03-15, 2026-03-08, and 2026-03-01).

Delta from Previous Reviews

The only new change versus re-review #3 is the generation timestamp bump in AssemblyInfo.Generated.cs:

-[assembly: AssemblyMetadata("ModularPipelines.OptionsGenerator.GeneratedAt", "2026-02-15T03:12:09.6705108Z")]
+[assembly: AssemblyMetadata("ModularPipelines.OptionsGenerator.GeneratedAt", "2026-03-22T03:12:30.7016689Z")]

All substantive changes (property removals, doc-string updates) remain identical to the three prior reviews. No new options were added or removed since the first generated snapshot.

Substantive changes (unchanged since first review)

File Change
PodmanComposeBuildOptions Removed --provenance, --sbom; updated --quiet description
PodmanComposeConfigOptions Removed --models
PodmanComposeEventsOptions Removed --since, --until
PodmanComposeExecOptions Removed --no-tty / -T
PodmanComposePublishOptions Removed --app
PodmanComposeUpOptions Removed --quiet-build
PodmanImageListOptions Updated --sort description (value list reordered)

Architectural observation (repeated from re-review #3, now more pressing)

This PR has been regenerated four times (evidenced by four weekly timestamp bumps) without being merged. The automation appears to be re-running the generator on a schedule and adding new commits to an already-open PR rather than waiting for it to be merged first. A few concerns:

  1. Noise: Each re-run adds a commit that only bumps a timestamp, providing no value and cluttering the PR history.
  2. Merge window: If the auto-merge is waiting on status checks that never pass, the root cause should be investigated rather than letting the generator keep re-running.
  3. Possible scheduling logic improvement: The generator/scheduler could check whether an open PR already exists for a given tool (podman) and skip re-running if the PR is already open and the substantive content is unchanged. This would avoid the timestamp-only churn entirely.

Outstanding informational item (unchanged)

Consumers who set Provenance, Sbom, Models, Since, Until, NoTty, App, or QuietBuild on these options records will receive a compile-time error after this update. This is the correct behaviour (the underlying CLI flags are gone), but a changelog or release note entry remains advisable for a clean upgrade experience.

Verdict

No issues with the generated content itself — the changes are correct and accurate. The PR is safe to merge. The repeated re-generation without merging is worth investigating in the scheduling/automation logic to reduce unnecessary churn.

@thomhurst thomhurst force-pushed the automated/update-cli-options-podman branch from 9bf5c53 to 524b14c Compare March 29, 2026 03:15
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: Automated Podman CLI Options Update (Re-review #5)

This is the fifth automated-generation pass on this PR. The generator was re-run on 2026-03-29T03:14:36Z (previously 2026-03-22, 2026-03-15, 2026-03-08, and 2026-03-01).

Delta from Previous Reviews

The only new change is the generation timestamp bump in AssemblyInfo.Generated.cs. All substantive option removals and doc-string updates are identical to all four prior reviews — no new CLI surface area has changed.

Generated Content — Still Correct

The substantive changes (unchanged since the first review on 2026-03-01) remain accurate:

File Change
PodmanComposeBuildOptions Removed --provenance, --sbom; updated --quiet description
PodmanComposeConfigOptions Removed --models
PodmanComposeEventsOptions Removed --since, --until
PodmanComposeExecOptions Removed --no-tty / -T
PodmanComposePublishOptions Removed --app
PodmanComposeUpOptions Removed --quiet-build
PodmanImageListOptions / PodmanImagesOptions Updated --sort description (value list reordered)

Escalated Architectural Concern — Scheduler Idempotency

This PR has now been regenerated five times without being merged, producing five weekly commits that only change a timestamp. This was first flagged in re-review #3 and repeated in re-review #4. The pattern is now well established and the root cause should be addressed:

The core problem: The generator/scheduler is not idempotent with respect to open PRs. It continues running and committing on a schedule regardless of whether the PR already exists and whether the substantive content has changed.

Suggested improvement: Before committing a new generation run, the automation pipeline could:

  1. Check if an open PR already exists for the target tool (e.g., podman).
  2. Compare the substantive diff (excluding the timestamp in AssemblyInfo.Generated.cs) against the current PR head.
  3. Only push a new commit if the substantive content has actually changed.

This would eliminate the timestamp-only churn entirely. The generation timestamp is already persisted in the metadata attribute, so its sole value is auditability — updating it weekly on an un-merged PR provides no benefit and adds noise to the commit history.

Outstanding Informational Item (unchanged)

Consumers using Provenance, Sbom, Models, Since, Until, NoTty, App, or QuietBuild on these options records will get a compile-time error after upgrading. This is the correct behaviour since the underlying CLI flags no longer exist, but a changelog or release note entry would aid consumers during upgrades.

Verdict

The generated content is correct and safe to merge — no issues with the actual option class changes. The repeated re-generation without merging is the only open concern, and it sits in the scheduling/automation logic rather than in this PR's content itself.

@thomhurst thomhurst force-pushed the automated/update-cli-options-podman branch from 524b14c to f7be5b5 Compare April 5, 2026 03:14
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: Automated Podman CLI Options Update (Re-review #6)

This is the sixth automated-generation pass on this PR. The generator was re-run on 2026-04-05T03:13:57Z (previously 2026-03-29, 2026-03-22, 2026-03-15, 2026-03-08, and 2026-03-01).

Delta from Previous Reviews

The only new change is the generation timestamp bump in AssemblyInfo.Generated.cs from 2026-02-15T03:12:09Z (the original baseline) to 2026-04-05T03:13:57Z. All substantive option removals and doc-string updates are identical to all five prior reviews.

Generated Content — Still Correct

The substantive changes (unchanged across all six reviews) remain accurate:

File Change
PodmanComposeBuildOptions Removed --provenance, --sbom; updated --quiet description
PodmanComposeConfigOptions Removed --models
PodmanComposeEventsOptions Removed --since, --until
PodmanComposeExecOptions Removed --no-tty / -T
PodmanComposePublishOptions Removed --app
PodmanComposeUpOptions Removed --quiet-build
PodmanImageListOptions / PodmanImagesOptions Updated --sort description (value list reordered)

Scheduler Idempotency — Now a Critical Concern

This PR has been open for seven weeks with six weekly timestamp-only commits added. The same architectural concern has been raised in re-reviews #3, #4, and #5 without any change. At this point it is worth treating it as a blocking issue with the automation infrastructure rather than an informational note:

The problem: The generator/scheduler runs unconditionally on a schedule, pushing a new commit to the open PR branch regardless of whether the substantive content has changed. The result is an ever-growing chain of timestamp-only commits with no value.

Concrete fix: In the automation pipeline that triggers generation, add a pre-check step:

  1. Query the GitHub API (or use gh pr list) to detect whether a PR already exists for the given tool.
  2. If one exists, compare the current generated output (excluding the timestamp line in AssemblyInfo.Generated.cs) against the PR branch HEAD.
  3. Only push and update the PR if the substantive content differs.

This is a two-step check that can be implemented with a simple diff comparison before the commit step, preventing all future timestamp-only churn on stale open PRs.

Why this matters now more than before: Each unnecessary commit triggers CI runs, review notifications, and webhook traffic. Over weeks this accumulates non-trivially, and the pattern will repeat for every other tool's automated PR that sits unmerged for multiple scheduling cycles.

Outstanding Informational Item (unchanged across all reviews)

Consumers using Provenance, Sbom, Models, Since, Until, NoTty, App, or QuietBuild on these options records will receive a compile-time error after upgrading. This is the correct behaviour since the underlying CLI flags are gone, but a changelog or release note entry would help consumers identify what changed during upgrades.

Verdict

The generated content is correct and safe to merge — no issues with the actual option class changes. The PR has been safe to merge since the first review on 2026-03-01. The scheduling/idempotency fix for the automation infrastructure remains the only open concern.

@codacy-production
Copy link
Copy Markdown

codacy-production Bot commented Apr 5, 2026

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

TIP This summary will be updated as you push new changes. Give us feedback

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 #2422 — [Automated] Update podman CLI Options

Generated Code Changes — Correct ✓

All modified files carry the // <auto-generated> header, [GeneratedCode], and [ExcludeFromCodeCoverage] attributes. Per the project guidelines, these must not be edited manually — only the generator should produce them. The changes here are correct.

Removed options (all correct):

File Removed property CLI flag
PodmanComposeBuildOptions.Generated.cs Provenance --provenance
PodmanComposeBuildOptions.Generated.cs Sbom --sbom
PodmanComposeConfigOptions.Generated.cs Models --models
PodmanComposeEventsOptions.Generated.cs Since --since
PodmanComposeEventsOptions.Generated.cs Until --until
PodmanComposeExecOptions.Generated.cs NoTty --no-tty / -T
PodmanComposePublishOptions.Generated.cs App --app
PodmanComposeUpOptions.Generated.cs QuietBuild --quiet-build

Removing options that no longer exist in the CLI is the right approach — it produces compile-time errors for consumers using the removed properties, which is intentional. Using a flag the CLI no longer supports would silently produce broken commands; the compile error is the correct signal.

Updated descriptions: The description changes (e.g., "Suppress the build output""Don't print anything to STDOUT") accurately reflect the updated help text. No issues there.


Architectural Concern: Change Detection Does Not Exclude the Timestamp

This is the root cause of why this PR has accumulated 7 commits over ~8 weeks, each triggering a full CI run, despite no new substantive CLI changes since week 1.

In .github/workflows/generate-cli-options.yml, the "Check for changes" step stages all .cs files and diffs them. However, AssemblyInfo.Generated.cs always updates its timestamp on every run — a line like:

// Generated: 2026-04-12T03:15:11Z

The --ignore-all-space and --ignore-blank-lines flags in the diff check do not suppress a one-line content change, so every Sunday the generator sets has_changes=true due to this timestamp, and peter-evans/create-pull-request pushes a new commit to the existing branch — even when no CLI flags actually changed.

Recommended fix (minimal, low-risk):

Exclude AssemblyInfo.Generated.cs from the change-detection diff, but re-stage it when real changes exist:

- name: Check for changes
  id: changes
  run: |
    git add 'src/**/*.cs'
    # Exclude timestamp-only file from the meaningful-change check
    git restore --staged 'src/**/AssemblyInfo.Generated.cs'
    if git diff --staged --quiet --ignore-all-space --ignore-blank-lines; then
      echo "has_changes=false" >> $GITHUB_OUTPUT
    else
      echo "has_changes=true" >> $GITHUB_OUTPUT
      # Re-stage AssemblyInfo so it's included in the commit when real changes exist
      git add 'src/**/AssemblyInfo.Generated.cs'
    fi

The same fix should be applied to the equivalent Windows block for consistency.

Why this is better than just merging as-is: Without this fix, the next run (next Sunday) will push another commit to a new PR or the next automated PR — even if podman CLI hasn't changed at all. This is unnecessary CI cost and reviewer noise across all ~45 tool integrations.

Alternative (more robust but higher effort): Have the generator write the tool's version string (e.g., from podman version) instead of a wall-clock timestamp. The timestamp would then only change when the tool actually updates, which directly aligns with the PR's purpose. However, this requires testing across all ~45 tools, so the workflow fix above is the better first step.


Summary

The generated code changes are correct and safe to merge. The concern is in the automation workflow itself, not this PR's content. Consider addressing the change-detection logic to prevent weekly no-op commits on future automated PRs.

@thomhurst thomhurst force-pushed the automated/update-cli-options-podman branch from 27cb135 to dc5fa09 Compare April 19, 2026 03:18
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: Automated podman CLI Options Update

This is a well-structured automated PR. The changes are clearly generated and follow the established pattern.

Positive Changes

** added to all generated files** — This is a meaningful improvement. Emitting at the top of every generated file enables nullable reference type annotations consistently across the Podman package. It aligns with modern C# best practices and will help catch null-related bugs at compile time rather than runtime.

Accurate timestamp update in correctly records when the regeneration occurred (Feb 2026 → Apr 2026).

Breaking Change Consideration

Several options have been removed across multiple classes, reflecting the current CLI's help output:

Class Removed Options
,
,
/
(multiple options)

These removals are breaking changes for any consumer using those properties. If the CLI tool itself dropped these flags, then this is correct behavior — the generator is faithfully reflecting the installed CLI version. However, it's worth confirming whether these flags were removed from podman's CLI entirely, or if they may be version-specific (e.g., the installed podman version on the generator machine is different from what users might have).

If there's a risk of version mismatch, it might be worth surfacing which podman version was used during generation (the already tracks the tool name and timestamp, but not the version).

Minor Observation

The option description in changed from "Suppress the build output" to "Don't print anything to STDOUT" — this is a faithful reflection of the CLI docs and is fine.

Overall, the PR looks correct for its intent. The addition is a welcome improvement across the entire package.

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: Automated podman CLI Options Update

This is a well-structured automated PR. The changes are clearly generated and follow the established pattern.

Positive Changes

nullable enable added to all generated files - This is a meaningful improvement. Emitting #nullable enable at the top of every generated file enables nullable reference type annotations consistently across the Podman package. It aligns with modern C# best practices and will help catch null-related bugs at compile time rather than runtime.

Accurate timestamp update in AssemblyInfo.Generated.cs correctly records when the regeneration occurred (Feb 2026 to Apr 2026).

Breaking Change Consideration

Several options have been removed across multiple classes, reflecting the current CLI help output:

  • PodmanComposeBuildOptions: removed --provenance, --sbom
  • PodmanComposeConfigOptions: removed --models
  • PodmanComposeEventsOptions: removed --since, --until
  • PodmanComposeExecOptions: removed --no-tty / -T
  • PodmanComposePublishOptions: removed --app
  • PodmanComposeUpOptions: multiple options removed

These removals are breaking changes for any consumer using those properties. If the CLI tool itself dropped these flags, this is correct behavior - the generator faithfully reflects the installed CLI version. However, it is worth confirming whether these flags were truly removed from podman CLI entirely, or whether this is version-specific (i.e., the installed podman on the generator machine differs from what users might have).

One suggestion: the AssemblyMetadata already tracks the tool name and timestamp, but not the tool version. Adding a version attribute there could help consumers understand which podman version the generated code targets, making version-mismatch issues easier to diagnose.

Minor Observation

The Quiet option description in PodmanComposeBuildOptions changed from "Suppress the build output" to "Don't print anything to STDOUT" - a faithful reflection of the updated CLI docs and is fine.

Overall the PR looks correct for its intent. The nullable enable addition is a welcome quality improvement across the entire Podman package.

@thomhurst thomhurst merged commit 22ec35f into main Apr 19, 2026
10 of 11 checks passed
@thomhurst thomhurst deleted the automated/update-cli-options-podman branch April 19, 2026 03:34
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