simtools-validate-repository-consistency#

Validate cross-file invariants in a simtools data repository.

simtools.applications.validate_repository_consistency.validate_repository_consistency(repository, metadata_roots, workflow_root, require_git_tracking=False)[source]#

Return validation errors for one data repository.

Overview#

The application validates repository-wide invariants that cannot be checked by validating a single file against a schema. It checks metadata product references, product identifier content, workflow version uniqueness, and SKIP_WORKFLOW_CI reasons.

Use --require_git_tracking in a Git-backed data repository to require referenced products to be tracked by Git.

Example#

Run from the repository root in CI:

simtools-validate-repository-consistency \
  --repository . \
  --metadata_roots input output \
  --workflow_root input \
  --require_git_tracking

The command fails if a metadata file references a missing or untracked product, or if two active workflows submit the same instrument, parameter, and parameter version.

Command line arguments#

options#

–help

show this help message and exit

–repository

Root directory of the data repository.

Default: ..

–metadata_roots

Directories containing metadata and referenced products.

Default: (PosixPath(‘input’), PosixPath(‘output’)).

–workflow_root

Directory containing workflow configuration files.

Default: input.

–require_git_tracking

Require metadata and product files to be tracked by Git.

application#

–show_options

Print available values for a supported option and exit.