Files

56 lines
1.3 KiB
TypeScript

export interface Workflow {
name: string;
on: string | string[] | Record<string, unknown>;
jobs: Record<string, Job>;
env?: Record<string, string>;
}
export interface Job {
name?: string;
'runs-on': string;
steps: Step[];
env?: Record<string, string>;
needs?: string | string[];
if?: string;
}
export interface Step {
name?: string;
uses?: string;
run?: string;
with?: Record<string, string | number | boolean>;
env?: Record<string, string>;
if?: string;
workingDirectory?: string;
shell?: string;
id?: string;
}
export interface StepResult {
step: Step;
index: number;
status: 'pending' | 'running' | 'success' | 'failure' | 'skipped' | 'modified';
exitCode: number | null;
stdout: string;
stderr: string;
durationMs: number;
modifiedCommand?: string;
}
export interface RunContext {
workflow: Workflow;
jobName: string;
job: Job;
stepResults: StepResult[];
containerId: string | null;
env: Record<string, string>;
}
export interface DockerExecResult {
exitCode: number;
stdout: string;
stderr: string;
}
export interface RunnerOptions {
workflowFile: string;
jobName?: string;
dryRun?: boolean;
workspace?: string;
envFile?: string;
}
//# sourceMappingURL=types.d.ts.map