checksum-ai/Checksum AI Test Run

Trigger a Checksum AI test run from CI, optionally with auto-heal.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
api-keyChecksum AI API key. Pass via a secret (see README for an example).yes
affectedResolve affected tests via POST /public-api/v1/affected-tests, then dispatch grep execution with the returned test ids. Changed files come from `changed-files`, or a `git-base-ref` diff, or — when neither is set — the PR's files read from the GitHub API (no checkout needed; pair with `env-overrides` to target a preview).nofalse
changed-filesChanged source paths (one per line) for `affected` mode. Ignored when `git-base-ref` computes the diff.no
git-base-refGit ref to diff against (e.g. origin/main) when `affected` is true. Requires a prior checkout with fetch-depth: 0. Omit (with no `changed-files`) to auto-read the PR's files from the GitHub API instead.no
git-dirOptional path passed as `git -C` when computing the diff (dual-repo CI: monorepo checkout while the workflow runs elsewhere).no
grepSubstring or regex pattern matched against test names.no
suite-idsComma-separated list of test suite UUIDs.no
test-idsComma-separated list of test UUIDs.no
collection-idA single test collection UUID.no
branchBranch of the TEST repository to check out for this run. Defaults to the test repo's default branch when omitted. Only honored in grep mode.no
env-overridesJSON object of per-run environment variable overrides, e.g. '{"BASE_URL":"https://pr-123.preview.example.com"}'. Only honored in grep mode.no
shard-countRun the selected tests in parallel across N shards (2–40) and merge the results into one Checksum run. Omit (or 1) for a non-sharded run. Each shard runs one Playwright worker, so total parallelism scales with `shard-count`. Honored in `grep` and `affected` modes. A `shard-count` of 2 or more cannot be combined with `auto-heal`.no
auto-healEnable auto-heal-on-failure. When true, failing tests will trigger a healing pipeline and (by default) push fixes as a PR.nofalse
auto-create-prWhen auto-heal is enabled, push healed tests as a PR. Defaults to true.notrue
pr-numberSource PR number for auto-heal progress comments. Auto-detected from the workflow event when running on pull_request / pull_request_target.no
repo-nameSource repository name (just the bare repo, no owner). Auto-detected from github.repository when omitted.no
metadataJSON object of free-form metadata attached to each healing session, useful for tracing or correlation IDs.no
waitPoll the status endpoint until the run reaches a terminal status. When true the action exit code reflects the test outcome.nofalse
poll-interval-secondsHow often to poll status when `wait` is true.no15
wait-timeout-secondsMaximum time to wait for the run to terminate when `wait` is true. When omitted the action waits indefinitely; the workflow job's `timeout-minutes` is the upper bound.no
api-base-urlChecksum AI API base URL.nohttps://api.checksum.ai
github-tokenToken used to look up the open PR for the current branch when running on a `push` event (so `pr-number` can be auto-resolved). Defaults to the workflow's GITHUB_TOKEN. Needs `pull-requests: read` permission. Ignored on `pull_request` events (the PR number is read from the event payload).no${{ github.token }}
namedescription
affected-test-idsJSON array of Checksum test ids from /affected-tests when `affected` is true. Empty when nothing was affected.
grep-patternGrep pattern derived from affected test ids and sent to /execution/grep. Set only when `affected` found tests to run.
job-namejob name of the dispatched run for a non-sharded run; empty for a sharded run (a sharded run has no single job of its own). Prefer `test-run-id` for polling.
statusRaw final run status when `wait` is true (e.g. passed / healed / failed / process-error / cancelled / timeout). Empty when `wait` is false. The action's exit code gates on `verdict`, not this string.
verdictServer-computed CI verdict when `wait` is true: `pass`, `fail`, or `pending` (pending only if it timed out before terminal). This is what the exit code gates on. Empty when `wait` is false.
test-run-idTest run UUID, returned at dispatch (both non-sharded and sharded). Poll it via /public-api/v1/execution/status/run/{runId}.