Skip to content

Latest commit

 

History

History
86 lines (64 loc) · 3.68 KB

File metadata and controls

86 lines (64 loc) · 3.68 KB

azldev component update

Resolve and lock source identities for components

Synopsis

Resolve source identities for components and write them to per-component lock files.

For upstream components, this resolves the effective commit hash using the distro snapshot time or explicit pin, then records it in locks/.lock. For local components, this computes a content hash of the spec directory. Subsequent commands (render, build) use the locked state for deterministic, reproducible results.

When updating all components (-a), orphan lock files (locks for components that no longer exist in the project config) are automatically pruned. Orphan pruning is skipped when updating individual components to avoid accidentally removing lock files for components not included in the filter.

The --bump flag updates matching lock files to increment the manual-rebuild counter, triggering a new release. Useful for mass-rebuild scenarios (e.g., toolchain bug, static library update). Orphan pruning is skipped under --bump.

The --check-only flag runs the full pipeline but does NOT write lock files or prune orphans. The command exits 0 when nothing would change and exits 1 when any component is stale or any lock would be pruned. Intended for CI gates. Cannot be combined with --bump.

azldev component update [flags]

Examples

  # Update all components
  azldev component update -a

  # Update a single component
  azldev component update -p curl

  # Update components in a group
  azldev component update -g core

  # Bump rebuild counter for a component (triggers new release)
  azldev component update --bump curl

  # CI gate: exit 0 if locks are fresh, 1 if anything would change
  azldev component update -a --check-only -q

Options

  -a, --all-components                Include all components
      --bump                          increment the manual-rebuild counter to trigger a new release
      --check-only                    resolve identities and recompute fingerprints but do not write lock files or prune orphans. Exits 0 when nothing would change and 1 when any component is stale (or, with --all-components, when any orphan lock would be pruned). Intended for CI gates. Cannot be combined with --bump
  -p, --component stringArray         Component name pattern
  -g, --component-group stringArray   Component group name
      --force-recalculate             force re-resolution of all components, ignoring freshness checks that would skip unchanged components. Use when upstream state may have changed independently of the snapshot time and the new commit is preferred
  -h, --help                          help for update
  -s, --spec-path stringArray         Spec path

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