Skip to content

[Hackathon] Add "testsprite ci": one-shot run + gate + GitHub-native output #99

Description

@Andy00L

Discord Username / User ID

interferon0

What does this improvement do?

A single command teams paste into one CI step: it runs a project's suite (wrapping the existing batch path), gates the job on the exit code, and when GITHUB_ACTIONS is set appends a Markdown results table to $GITHUB_STEP_SUMMARY, emits one ::error:: workflow-command line per failed test (title + dashboard link) so failures annotate the PR checks tab, and writes a stable machine summary to stdout or --summary-file. It auto-detects the runner and degrades to plain output off-CI. This collapses "run + gate + PR feedback + dashboard artifact" into one call, the exact shape gh, Cypress, and Playwright converged on.

Details / implementation notes

The batch --all --wait path already computes {passed, failed, timedOut, total} plus per-test runId/dashboardUrl/error (src/commands/test.ts:5743), so ci is a presenter over data the CLI already assembles, with zero new wire calls. The backend already stamps source: 'github_action' (src/lib/runs.types.ts:249), so the provenance loop is pre-wired. New src/commands/ci.ts + registration in src/index.ts + a dry-run sample; reads GITHUB_STEP_SUMMARY/GITHUB_ACTIONS from process.env, writes via fs. No new dependency. Tests: summary/annotation/machine-summary formats; off-CI plain fallback. PR to follow once assigned.

Confirmations

  • I have searched existing issues and this is not a duplicate.
  • I have provided my Discord identity above for reward coordination.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

hackathonCLI hackathon submissionsin-progressAssigned and actively being worked on

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions