56 lines
1.3 KiB
TypeScript
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
|