github / github/vscode-github-actions

Yaml validation fail when using expession in job env or step env

未關閉
#490 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
bug
主要語言
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

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。