Open bvandevliet opened 7 months ago
That would be great! Right now this isn't planned, but if someone added it in a PR, I would review it.
@felipesu19 are you able to point me in the direction for how and where I might implement this? It would be very useful for us as we are creating reusable workflows instead of actions in order to get the linting but are finding this is creating a lot of clutter when we look at our workflows in the UI
@felipesu19 are you able to point me in the direction for how and where I might implement this? It would be very useful for us as we are creating reusable workflows instead of actions in order to get the linting but are finding this is creating a lot of clutter when we look at our workflows in the UI
I am pretty sure the logic is based on this regex: https://github.com/github/vscode-github-actions/blob/0b6131d600a40099d0a96103b2296e4f9cb4cc69/src/workflow/documentSelector.ts#L2 I think if you track down where documentSelector is used, you could inject a new regex or just modify the selector.
(Caveat: I have not looked at this in any depth, this is my initial "taking a look at it" impression)
Thanks @felipesu19!
Looking into this further, it seems that the languageservice only knows how to lint workflows and not custom actions. Is this correct? Do you know of a way we can lint custom actions (i.e. action.yaml
)?
It'd be amazing if we could lint custom actions, both within the .github/actions
path, but also when authoring actions. In a repo which publishes an action I wouldn't mind having to override an option to configure VSCode with a different glob.
Even if it was only the expressions parser, that would be super helpful, though I'd imagine that depends on the workflow parser to pull the expressions out in the first place.
@felipesu19 are you able to point me in the direction for how and where I might implement this? It would be very useful for us as we are creating reusable workflows instead of actions in order to get the linting but are finding this is creating a lot of clutter when we look at our workflows in the UI
I am pretty sure the logic is based on this regex:
I think if you track down where documentSelector is used, you could inject a new regex or just modify the selector. (Caveat: I have not looked at this in any depth, this is my initial "taking a look at it" impression)
I believe most people will use the folders "workflows" and "actions", I've not seen anyone suggesting to use any other folder. It would be great to be able to allow users to customize it, but if we confirm that line of code is indeed the only place referencing this folder, I'd suggest to just update this pattern to include both folders:
pattern: "**/.github/{workflows,actions}/*.{yaml,yml}"
But I don't think it's the only place in the code that matters, because based on that glob pattern it wouldn't recognize any yaml file if it was placed in a subfolder of workflows
. I can see in the IDE that I can create subfolders inside workflows
to any depth and it's picked up correctly by the plugin.
Discussed in https://github.com/github/vscode-github-actions/discussions/207
Wanted to make this an issue as it would also really help out for people like me that run a simple self-hosted Gitea instance, since these workflows are stored in
.gitea/workflows
. If only there is some setting for the extension that holds an array of workflow paths would be really awesome! Default value would then of course be[".github/workflows"]
:)