Support needs for reusable jobs

This commit is contained in:
Christopher Schleiden
2023-02-07 14:52:12 -08:00
parent 05605c80c7
commit cd38b2fe76
5 changed files with 110 additions and 31 deletions
@@ -0,0 +1,26 @@
import {convertWorkflowTemplate, parseWorkflow, WorkflowTemplate} from "@github/actions-workflow-parser";
import {getWorkflowContext, WorkflowContext} from "../context/workflow-context";
import {nullTrace} from "../nulltrace";
import {findToken} from "../utils/find-token";
import {getPositionFromCursor} from "./cursor-position";
export async function testGetWorkflowContext(input: string): Promise<WorkflowContext> {
const [textDocument, pos] = getPositionFromCursor(input);
const result = parseWorkflow(
{
content: textDocument.getText(),
name: "wf.yaml"
},
nullTrace
);
let template: WorkflowTemplate | undefined;
if (result.value) {
template = await convertWorkflowTemplate(result.context, result.value);
}
const {path} = findToken(pos, result.value);
return getWorkflowContext(textDocument.uri, template, path);
}