Do not report required inputs without value but a default as error

This commit is contained in:
Christopher Schleiden
2023-01-09 15:22:49 -08:00
parent 31fcfe1e44
commit 66c800fc25
2 changed files with 28 additions and 5 deletions
@@ -65,7 +65,7 @@ export async function validateAction(
}
const missingRequiredInputs = Object.entries(actionInputs).filter(
([inputName, input]) => input.required && !stepInputs.has(inputName)
([inputName, input]) => input.required && !stepInputs.has(inputName) && input.default === undefined
);
if (missingRequiredInputs.length > 0) {
@@ -1,4 +1,4 @@
import {Diagnostic, DiagnosticSeverity} from "vscode-languageserver-types";
import {DiagnosticSeverity} from "vscode-languageserver-types";
import {ActionInput, ActionReference} from "./action";
import {registerLogger} from "./log";
import {createDocument} from "./test-utils/document";
@@ -29,6 +29,15 @@ const validationConfig: ValidationConfig = {
}
};
break;
case "actions/deploy-pages":
inputs = {
token: {
required: true,
description: "token to use",
default: "${{ github.token }}"
}
};
break;
case "actions/cache@v1":
inputs = {
path: {
@@ -73,7 +82,7 @@ jobs:
steps:
- uses: actions/checkout@v2
with:
notanoption: true
notanoption: true
`;
const result = await validate(createDocument("wf.yaml", input), validationConfig);
@@ -104,7 +113,7 @@ jobs:
steps:
- uses: actions/setup-node@v1
with:
version: 10
version: 10
`;
const result = await validate(createDocument("wf.yaml", input), validationConfig);
@@ -157,6 +166,20 @@ jobs:
]);
});
it("required input with default value", async () => {
const input = `
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/deploy-pages@main
`;
const result = await validate(createDocument("wf.yaml", input), validationConfig);
expect(result).toEqual([]);
});
it("multiple missing required inputs", async () => {
const input = `
on: push
@@ -226,7 +249,7 @@ jobs:
steps:
- uses: actions/checkout@v2
with:
notanoption: true
notanoption: true
`;
const config = validationConfig;
config.valueProviderConfig = {