alexeiveselov92/detectkit

Run a detectkit metric-monitoring pipeline (run, autotune, or clean) in CI; fails the job on a real pipeline failure.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
commanddetectkit subcommand to run: "run", "autotune", or "clean". Any other value fails the step immediately (exit code 2) without invoking dtk.norun
selectMetric selector passed as `--select` (metric name, path pattern, or `tag:<name>`). `dtk run`/`dtk autotune` require a selector; `dtk clean` accepts either a selector (drift mode) or `--orphaned-metrics` (GC mode) via `extra-args` — set `select: ""` to use the latter, since a non-empty `select` and `--orphaned-metrics` conflict.no*
stepsComma-separated pipeline steps passed as `--steps` (e.g. "load,detect" or "load,detect,alert"). Empty (default) omits the flag, so `dtk run` uses its own default (load,detect,alert). Only meaningful for `command: run`; ignored (with a warning) for autotune/clean.no""
profileProfile name passed as `--profile` (default: the project's `default_profile` in detectkit_project.yml / profiles.yml).no""
project-dirDirectory containing detectkit_project.yml and profiles.yml, relative to the workflow's working directory (usually the checked-out repo).no.
versiondetectkit PyPI version spec. A bare version ("0.61.0") is pinned exactly (`detectkit==0.61.0`); a string starting with a pip operator (">=0.60,<0.62", "~=0.61") is used as-is. Empty (default) installs the latest release.no""
extrasComma-separated pip extras to install alongside detectkit, e.g. "clickhouse" or "duckdb,mysql" (see the Databases guide for the full list). Empty (default) installs the bare package with no database driver — set this to whatever backend your profiles.yml points at.no""
python-versionPython version for actions/setup-python (detectkit requires 3.10+).no3.12
json-summaryFor `command: run` only: pass `--json` to capture the machine-readable run summary into the `summary`/`summary-path` outputs (human-readable logs still print to the job log via stderr either way). `autotune` and `clean` have no `--json` flag, so this has no effect on them.notrue
extra-argsExtra raw arguments appended to the dtk command line, parsed with real shell quoting (e.g. "--full-refresh --force", or "--orphaned-metrics --execute --yes" for `dtk clean` with `select: ""`) — quote a value that contains spaces, e.g. extra-args: '--from "2026-01-01 00:00:00"'.no""
namedescription
exit-codeThe dtk command's exit code as a string: "0" success, "1" failure (a metric failed, the run aborted, a startup/config/DB error, or the selector matched nothing), "2" usage error.
summaryThe raw `dtk run --json` summary document (only when `command: run` and `json-summary: true`); empty otherwise.
summary-pathPath to the saved copy of the summary document on the runner (only when `command: run` and `json-summary: true`); empty otherwise.