Skip to content

Commit b0051b9

Browse files
committed
fix: add secrets validation configuration to GitHub Actions extension
Fixes issue #222
1 parent 8dd807b commit b0051b9

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

package.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,18 @@
9292
"markdownDescription": "If this is set to true, use the auth provider for the GitHub Enterprise URL configured in `github-enterprise.uri`",
9393
"default": false,
9494
"scope": "window"
95+
},
96+
"github-actions.validation.secrets": {
97+
"type": "string",
98+
"enum": ["auto", "always", "never"],
99+
"enumDescriptions": [
100+
"Suppresses warnings when repository context is unavailable (e.g., timing issues during initialization) (recommended)",
101+
"Always show warnings",
102+
"Never validate secrets/variables access"
103+
],
104+
"default": "auto",
105+
"description": "Controls validation of secrets and variables context access in workflow files",
106+
"scope": "window"
95107
}
96108
}
97109
},

src/workflow/languageServer.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as path from "path";
22
import * as vscode from "vscode";
33

44
import {Commands} from "@actions/languageserver/commands";
5-
import {InitializationOptions, LogLevel} from "@actions/languageserver/initializationOptions";
5+
import {InitializationOptions, LogLevel, SecretsValidationMode} from "@actions/languageserver/initializationOptions";
66
import {ReadFileRequest, Requests} from "@actions/languageserver/request";
77
import {BaseLanguageClient, LanguageClientOptions} from "vscode-languageclient";
88
import {LanguageClient as BrowserLanguageClient} from "vscode-languageclient/browser";
@@ -20,6 +20,10 @@ function isNode(): boolean {
2020
return typeof process !== "undefined" && process.versions?.node != null;
2121
}
2222

23+
function getSecretsValidationMode(): SecretsValidationMode {
24+
return vscode.workspace.getConfiguration("github-actions").get<SecretsValidationMode>("validation.secrets", "auto");
25+
}
26+
2327
export async function initLanguageServer(context: vscode.ExtensionContext) {
2428
const session = await getSession();
2529

@@ -35,7 +39,8 @@ export async function initLanguageServer(context: vscode.ExtensionContext) {
3539
workspaceUri: repo.workspaceUri.toString(),
3640
organizationOwned: repo.organizationOwned
3741
})),
38-
logLevel: PRODUCTION ? LogLevel.Warn : LogLevel.Debug
42+
logLevel: PRODUCTION ? LogLevel.Warn : LogLevel.Debug,
43+
secretsValidation: getSecretsValidationMode()
3944
};
4045

4146
const clientOptions: LanguageClientOptions = {

0 commit comments

Comments
 (0)