version:
  format: 1
  # Minimum version of the binary that is expected to work. This is just for printing a nice error
  # message when someone tries to use an older version.
  binary: 0.13.2

# The examples in this file assume crate `A` to have a dependency on crate `B`.
workflows:
  check:
    - [
        'lint',
        # Check that `A` activates the features of `B`.
        'propagate-feature',
        # These are the features to check:
        '--features=try-runtime,runtime-benchmarks,std',
        # Do not try to add a new section into `[features]` of `A` only because `B` expose that feature. There are edge-cases where this is still needed, but we can add them manually.
        '--left-side-feature-missing=ignore',
        # Ignore the case that `A` it outside of the workspace. Otherwise it will report errors in external dependencies that we have no influence on.
        '--left-side-outside-workspace=ignore',
        # Some features imply that they activate a specific dependency as non-optional. Otherwise the default behaviour with a `?` is used.
        '--feature-enables-dep=try-runtime:frame-try-runtime,runtime-benchmarks:frame-benchmarking',
        # Auxillary flags:
        '--offline',
        '--locked',
        '--show-path',
        '--quiet',
      ]
  # The umbrella crate uses more features, so we to check those too:
  check_umbrella:
    - [ $check.0, '--features=serde,experimental,runtime,with-tracing,tuples-96,with-tracing', '-p=polkadot-sdk' ]
  # Same as `check_*`, but with the `--fix` flag.
  default:
    - [ $check.0, '--fix' ]
    - [ $check_umbrella.0, '--fix' ]

# Will be displayed when any workflow fails:
help:
  text: |
    Polkadot-SDK uses the Zepter CLI to detect abnormalities in the feature configuration.
    It looks like one more more checks failed; please check the console output. You can try to automatically address them by running `zepter`.
    Otherwise please ask directly in the Merge Request, GitHub Discussions or on Matrix Chat, thank you.
  links:
    - "https://github.com/paritytech/polkadot-sdk/issues/1831"
    - "https://github.com/ggwpez/zepter"