github / github/vscode-github-actions
Yaml validation fail when using expession in job env or step env
- 主要語言
- TypeScript
- 星號
- 660
- 分支
- 213
- PR 合併指標
- 30 天內沒有已合併 PR
描述
**Describe the bug**
I have a workflow that uses a matrix that define env to use with each job.
Using expression to set the job env fail validation.
**To Reproduce**
Steps to reproduce the behavior:
1. Create a workflow file like this
```
---
on:
push: {}
jobs:
myjob:
strategy:
matrix:
include:
- name: 'env1'
runs-on: 'ubuntu-22.04'
env:
VAR1: 'value1'
VAR2: 'value2'
- name: 'env2'
runs-on: 'ubuntu-24.04'
env:
VAR1: 'value3'
VAR2: 'value4'
name: ${{ matrix.name }}
runs-on: ${{ matrix.runs-on }}
env: ${{ matrix.env }}
steps:
- name: Run tests
run: 'echo "var1: $VAR1, var2: $VAR2"'
```
2. See validation error in vscode
```
`Unexpected type 'BasicExpressionToken' encountered while reading 'job env'. The type 'MappingToken' was expected.`
```
3: running the workflow produces
env1
```
Run echo "var1: $VAR1, var2: $VAR2"
var1: value1, var2: value2
```
env2
```
Run echo "var1: $VAR1, var2: $VAR2"
var1: value3, var2: value4
```
No errors.
**Expected behavior**
I would expect validation not to produce an error like this
貢獻指南
研究方向
Start by reproducing the reported validation error in VS Code with the workflow shown in the issue. Trace the GitHub Actions job-env validation entry point and compare its handling of the matrix expression with the workflow runtime; done means the valid workflow no longer produces a validation error while retaining its current behavior.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- github-actions, typescript, vscode, yaml
- 領域
- devtools, tooling
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100