github / github/vscode-github-actions
Error thrown in consuming workflows regarding JSON output values quotes
- 主要言語
- TypeScript
- スター
- 660
- フォーク
- 213
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
**Describe the bug**
Quotes in a reusable workflow's JSON output value is triggering an error in consuming workflows.
**To Reproduce**
Steps to reproduce the behavior:
1. Create a reusable workflow with input and outputs, one of the output being this JSON value:
```yaml
outputs:
images:
value: '{"gcp": "${{ contains(inputs.registries, ''gcp'') && jobs.setup.outputs.gcp_image || '''' }}", "ecr": "${{ contains(inputs.registries, ''ecr'') && jobs.setup.outputs.ecr_image || '''' }}"}'
```
2. Use the first workflow in another workflow:
```yaml
build:
uses: acme/actions/.github/workflows/build.yaml@v1
```
3. See the following errors in the 2nd workflow file, but __at the line number__ from the 1st workflow file:
```
Unexpected symbol: 'gcp'''. Located at position 31 within expression: contains(inputs.registries, ''gcp'') && jobs.setup.outputs.gcp_image || '''' [Ln 72, Col 26]
Unexpected symbol: 'ecr'''. Located at position 31 within expression: contains(inputs.registries, ''ecr'') && jobs.setup.outputs.ecr_image || '''' [Ln 72, Col 120]
```
**Expected behavior**
The 1st workflow does not throw any errors when being run in Github Actions runners, so I'd expect no errors to be printed by this extension.
**Extension Version**
`v0.27.1`
コントリビューションガイド
調査の方向性
まず、issue に示されている reusable workflow と consuming workflow を使い、報告された拡張機能のバージョンを基準としてエラーを再現します。引用符で囲まれた JSON 式に対して生成される診断を追跡し、有効な GitHub Actions 構文が consuming workflow でエラーを報告しなくなっていること、またはエラーを誤った行に対応付けなくなっていることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- github-actions, typescript, vscode
- 領域
- devtools
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100