github / github/vscode-github-actions

Unable to find reusable workflow

未关闭
#254 23 条评论 82 个 reaction 已指派 0 人 在 GitHub 查看
bug
主要语言
TypeScript
星标
660
派生
213
PR 合并指标
30 天内没有已合并 PR

描述

**Describe the bug**
When leveraging local reusable workflows, i.e. referencing other workflows inside of the `.github/workflows/` directory, the extension claims that it cannot find the reusable workflow. The reusable workflow is indeed in the right place, and it executes successfully by Github Actions.

**To Reproduce**
Steps to reproduce the behavior:
1. With the following directory structure:
```dir
.github/workflows/
- base.yml
- reusable.yml
```
And the following workflows:
```yml
# base.yml
name: base
on:
pull_request:

permissions:
contents: read
id-token: write

jobs:
reusable:
uses: ./.github/workflows/reusable.yml
with:
EXAMPEL: example
```
```yml
# reusable.yml
name: reusable
on:
workflow_call:
inputs:
EXAMPLE:
description: Example.
type: string
required: true

permissions:
contents: read
id-token: write

jobs:
reusable:
name: Example
runs-on: ubuntu-latest
steps:
- name: Example step
run: echo "${{ inputs.EXAMPLE }}"
```
2. Go to `base.yml` in VS Code.
3. The linting error `Unable to find reusable workflow` is presented. In addition, this is the output from `Github Actions Language`:
```
[Error - 09:26:39] Request textDocument/documentLink failed.
Message: Request textDocument/documentLink failed with message: Invalid file reference: .github/workflows/reusable.yml
Code: -32603
```

**Expected behavior**
As this is indeed a valid file reference according to [github documentation](https://docs.github.com/en/actions/using-workflows/reusing-workflows#calling-a-reusable-workflow), and since it does indeed execute successfully, this error should not occur.

**Screenshots**
![Screenshot 2023-09-01 at 09 39 51](https://github.com/github/vscode-github-actions/assets/11174653/860cbc0f-b501-47ea-9c87-63dbf94475f5)

**Extension Version**
`v0.26.1`

贡献指南

打开贡献指南

调研方向

Reproduce the failure in VS Code using base.yml and .github/workflows/reusable.yml, then inspect the documentLink request and the reusable-workflow reference handling. Confirm that the local path is accepted, the linting error disappears, and the document link resolves without an Invalid file reference error.

由索引模型根据 Issue 内容生成。

评估

技术栈
github-actions, typescript, vscode
领域
ci-cd, tooling
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
42/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。