reflectt/CI Canary PR Gate

Run a canary/eval command, upload a JSON report artifact, optionally diff against a baseline, and (on PRs) post/update a summary comment.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
commandShell command to run the canary/eval suite. Must produce the report JSON at report_path.yes
report_pathPath to the canonical JSON report produced by the command.noeval-report.json
artifact_nameName for the uploaded workflow artifact.noci-canary-report
retention_daysArtifact retention days (passed to upload-artifact client).no14
comment_modecreate-or-update | create | offnocreate-or-update
comment_titleTitle used in the PR comment heading.noCI Canary
github_tokenGitHub token for PR comment + optional baseline artifact download.no${{ github.token }}
baseline_pathPath to a baseline JSON report in the repo.no""
baseline_artifactArtifact name to download as baseline from a workflow run.no""
baseline_workflowWorkflow name, file name (e.g. canary.yml), or workflow id to locate baseline artifacts.no""
baseline_refRef for baseline lookup when using baseline artifact.norefs/heads/main
fail_on_command_errorIf true, fail when command exits non-zero.notrue
fail_on_any_scenario_failIf true, fail when any scenario has passed=false.notrue
min_scoreIf set, fail when report.summary.score < min_score.no""
max_score_dropIf set and baseline exists, fail when (baseline.score - score) > max_score_drop.no""
max_metric_regressions_jsonJSON map of metric thresholds (fail if metric delta vs baseline > threshold). Example: {"latency_p95_ms":500, "cost_usd":0.1}no""
dashboard_urlOptional dashboard link to include in the PR comment.no""
health_alerts_urlOptional health alerts link to include in the PR comment.no""
namedescription
passedtrue|false
scoreNumeric score as string
score_deltaNumeric score delta vs baseline as string (empty if no baseline)
failed_scenariosCount of failed scenarios as string
report_pathResolved report path
artifact_nameArtifact name used