Skip to content

[Automated] Update flux CLI Options - #3909

Open
thomhurst wants to merge 1 commit into
mainfrom
automated/update-cli-options-flux
Open

[Automated] Update flux CLI Options#3909
thomhurst wants to merge 1 commit into
mainfrom
automated/update-cli-options-flux

Conversation

@thomhurst

Copy link
Copy Markdown
Owner

Summary

This PR contains automatically generated updates to flux 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

Command coverage

Command coverage report:

  • flux (flux version 2.9.4): 173 commands, tree cce64ef09e13559016b9deee8b350b34916ce2e46c6e248c25ab24ae62a04c00

Verification

  • Solution builds successfully
  • API compatibility gate: failure

🤖 Generated with ModularPipelines.OptionsGenerator

@thomhurst thomhurst added automated dependencies Pull requests that update a dependency file labels Aug 9, 2026
@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (45)
  • src/ModularPipelines.Flux/Generated/Flux.CommandCoverage.json is excluded by !**/generated/**
  • src/ModularPipelines.Flux/Options/FluxBootstrapBitbucketServerOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxBootstrapGitOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxBootstrapGiteaOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxBootstrapGithubOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxBootstrapGitlabOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxBootstrapOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxBuildOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxCreateImageOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxCreateOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxCreateSecretGitOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxCreateSecretOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxCreateSourceGitOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxCreateSourceOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxDebugOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxDeleteImageOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxDeleteOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxDeleteSourceOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxDiffOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxExportArtifactOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxExportImageOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxExportOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxExportSourceOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxGetArtifactsOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxGetImagesOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxGetOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxGetSourcesOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxListOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxPluginInstallOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxPluginOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxPullOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxPushOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxReconcileImageOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxReconcileOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxReconcileSourceOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxResumeImageOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxResumeOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxResumeSourceOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxSuspendImageOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxSuspendOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxSuspendSourceOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxTagOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxTreeArtifactOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxTreeOptions.Generated.cs is excluded by !**/*.generated.*
  • src/ModularPipelines.Flux/Options/FluxTriggerOptions.Generated.cs is excluded by !**/*.generated.*

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 02421b11-567f-43b6-a241-a64ba3b09b1e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c7a1ee999f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

[CliArgument(0, Phase = CommandLinePhase.EarlyOperand)]
public string? Command { get; set; }

}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Preserve the removed Command properties

When consumers use the previously public Command property to dispatch a subgroup (for example, new FluxBuildOptions { Command = "artifact" }), removing it from these 36 option records causes source compilation failures and MissingMethodException for already-compiled callers invoking its accessor. Preserve it as an obsolete positional alias until a major release, implementing the compatibility behavior in the generator or a manual extension rather than editing generated output directly.

AGENTS.md reference: AGENTS.md:L164-L169

Useful? React with 👍 / 👎.

[CliSubCommand("plugin", "install")]
public record FluxPluginInstallOptions(
[property: CliArgument(0, Phase = CommandLinePhase.EarlyOperand, Required = true)] string NameVersion
[property: CliArgument(0, Phase = CommandLinePhase.EarlyOperand, Required = true)] string Name

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Retain NameVersion as a compatibility alias

When existing callers use the public positional-record property or named argument NameVersion, renaming it to Name breaks source compatibility, and already-compiled code that reads get_NameVersion() fails at runtime. The CLI operand is still represented by the same string constructor value, so retain an obsolete forwarding NameVersion property (or defer the rename to a major release) through the generator's compatibility mechanism.

AGENTS.md reference: AGENTS.md:L164-L169

Useful? React with 👍 / 👎.

@claude

claude Bot commented Aug 9, 2026

Copy link
Copy Markdown

Code Review

This PR is a fully mechanical, generator-produced update: it bumps the Flux CLI wrapper from 2.9.32.9.4. Every changed file is either *.Generated.cs under src/ModularPipelines.Flux/Options/ or the Flux.CommandCoverage.json metadata — no hand-written source, tests, or the options generator itself were touched. That matches the project convention of never hand-editing generated files.

I checked each notable diff for correctness/regression risk:

  • [SecretValue] removed from 8 PrivateKeyFile properties (bootstrap/create-secret/create-source options) — looked at first glance like a security-masking regression, but it isn't: GeneratorUtilsTests.cs already asserts IsSecretOption("PrivateKeyFile", ...) returns false, since these are file paths, not secret values. This is consistent, tested generator behavior — not a bug.
  • Generic Command positional operand removed from ~34 subcommand option classes (e.g. FluxBuildOptions, FluxGetOptions) — this stray, duplicated argument is gone. No hand-written code in the repo referenced .Command on any of these types, so this is a clean scraper/upstream-docs fix with no fallout.
  • FluxPluginInstallOptions: required positional parameter renamed NameVersionName — no repo code references the old parameter name, so nothing breaks at compile time. Worth a human's attention though: the old name NameVersion signaled that the value may need a name@version suffix to pin a version; the new name Name loses that signal. If flux plugin install still accepts name[@version] for pinning, a caller relying on IntelliSense/property naming could pass just the plugin name when they meant to pin a version, silently installing latest instead — no compiler or runtime error would catch it. Worth double-checking this rename traces faithfully back to the upstream Flux CLI help text/docs for 2.9.4 (rather than being an artifact of the scraper) before merging.

No other correctness, design, or maintainability issues found. Since this is 100% generated output with no manual edits, there isn't a design-pattern or architectural angle to critique here — the generator's existing conventions are being followed faithfully.

🤖 Generated with automated code review

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