Skip to content

Latest commit

 

History

History
81 lines (61 loc) · 3.2 KB

File metadata and controls

81 lines (61 loc) · 3.2 KB

azldev component changed

Detect which components changed between two git refs

Synopsis

Compare component lock files and rendered sources between two git refs to determine which components changed. For each component, reports whether its input fingerprint changed (any change) and whether its rendered sources file changed (sources change).

This is useful for CI/CD pipelines to determine which components need to be rebuilt or have their lookaside tarballs re-uploaded after a PR merge.

Fails with an error if any component's fingerprint is unchanged between refs but its rendered sources file drifted. This combination cannot occur from a clean render -- it usually means the rendered sources were edited by hand (a cache-poisoning vector if blindly uploaded) or the renderer is non- deterministic.

Note: component selection and directory paths (lock-dir, rendered-specs-dir) are resolved from the current checkout's configuration, not from the compared refs. For accurate results, run this command from a checkout that matches the --to ref (e.g., after merging a PR). Components not in the current config are detected via lock file presence in the compared refs when using -a.

azldev component changed [flags]

Examples

  # Show changed components between a branch and HEAD
  azldev component changed --from main -a

  # Show changes between two specific refs
  azldev component changed --from v1.0 --to v2.0 -a

  # Include unchanged components in output
  azldev component changed --from main -a --include-unchanged

  # JSON output for scripting
  azldev component changed --from main -a -q -O json

Options

  -a, --all-components                Include all components
  -p, --component stringArray         Component name pattern
  -g, --component-group stringArray   Component group name
      --from string                   Git ref to compare from (required)
  -h, --help                          help for changed
      --include-unchanged             Include unchanged components in output (only applies to broad -a scans; explicit selections always show status)
  -s, --spec-path stringArray         Spec path
      --to string                     Git ref to compare to (default "HEAD")

Options inherited from parent commands

  -y, --accept-all                accept all prompts
      --color mode                output colorization mode {always, auto, never} (default auto)
      --config-file stringArray   additional TOML config file(s) to merge (may be repeated)
  -n, --dry-run                   dry run only (do not take action)
      --network-retries int       maximum number of attempts for network operations (minimum 1) (default 3)
      --no-default-config         disable default configuration
  -O, --output-format fmt         output format {csv, json, markdown, table} (default table)
      --permissive-config         do not fail on unknown fields in TOML config files
  -C, --project string            path to Azure Linux project
  -q, --quiet                     only enable minimal output
  -v, --verbose                   enable verbose output

SEE ALSO