Step CI Test Runner
npm install @stepci/runner
import { runFromFile } from '@stepci/runner' runFromFile('./examples/status.yml').then(console.log)
import { run } from '@stepci/runner' // Example workflow const workflow = { version: "1.0", name: "Status Test", env: { host: "example.com" }, tests: { example: { steps: [{ name: "GET request", http: { url: "https://${{env.host}}", method: "GET", check: { status: "/^20/" } } }] } } } run(workflow).then(console.log)
If you supply an EventEmitter as argument, you can subscribe to following events:
step:http_request, when a http request is madestep:http_response, when a http response is receivedstep:grpc_request, when a grpc request is madestep:grpc_response, when a grpc is receivedstep:result, when step finishesstep:error, when step errorstest:result, when test finishesworkflow:result, when workflow finishesloadtest:result, when loadtest finishes
Example: Events
import { run } from '@stepci/runner' import { EventEmitter } from 'node:events' // Example workflow const workflow = { version: "1.0", name: "Status Test", env: { host: "example.com" }, tests: { example: { steps: [{ name: "GET request", http: { url: "https://${{env.host}}", method: "GET", check: { status: "/^20/" } } }] } } } const ee = new EventEmitter() ee.on('done', console.log) run(workflow, { ee })