Github actions Can';t从市场(通过构建矩阵)在github操作中使用工作流环境变量
我试图在市场操作中使用工作流环境变量,使用构建矩阵,但由于某些原因它不起作用 我基本上只想定义一次数据库版本,以避免在工作流中的多个位置重复它们 以下是我的工作流程(最小可复制示例): 它失败了,出现了下面的错误,好像没有定义Github actions Can';t从市场(通过构建矩阵)在github操作中使用工作流环境变量,github-actions,Github Actions,我试图在市场操作中使用工作流环境变量,使用构建矩阵,但由于某些原因它不起作用 我基本上只想定义一次数据库版本,以避免在工作流中的多个位置重复它们 以下是我的工作流程(最小可复制示例): 它失败了,出现了下面的错误,好像没有定义MONGODB_4_0。 有趣的事实是,如果没有策略矩阵,我可以使用envcontext(): 正如@max所说,您可以在工作流中使用变量,因此我猜您的矩阵应该是错误的,也许您可以这样尝试: MONGODB:[${{env.MONGODB_4_0},${{env.MONG
MONGODB_4_0
。
有趣的事实是,如果没有策略矩阵,我可以使用env
context():
正如@max所说,您可以在工作流中使用变量,因此我猜您的矩阵应该是错误的,也许您可以这样尝试:
MONGODB:[${{env.MONGODB_4_0},${{env.MONGODB_3_6}]
您只有一个作业(测试),因此也可以在作业级别定义环境变量。
所有作业都可以访问变量:
作业:
测试:
运行于:ubuntu最新版本
环境:
MONGODB_3_6:3.6.13
MONGODB_4_0:4.0.13
更多信息:
MONGODB:[${MONGODB\u 4\u 0},${MONGODB\u 3\u 6}]
?不幸的是,github立即抱怨“工作流文件无效(yaml语法错误)”,:不幸的是,如果我在作业级别而不是工作流级别()定义env,并且在矩阵中使用${env.MONGODB_4_0}也不起作用,则输出完全相同(语法错误)问题似乎是env var+build matrixWell的组合听起来很奇怪,我认为他们没有考虑到这样一个事实,即当您设置特定值时,矩阵可以是动态的。也许直接在数组上设置版本就可以了。这真的需要有env变量吗?MONGODB:[${MONGODB\u 4\u 0},${MONGODB\u 3\u 6},
env
name: dummy
on:
pull_request:
env:
MONGODB_3_6: 3.6.13
MONGODB_4_0: 4.0.13
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
MONGODB: [$MONGODB_4_0, $MONGODB_3_6]
steps:
- uses: actions/checkout@v2
- name: Start MongoDB
uses: supercharge/mongodb-github-action@1.3.0
with:
mongodb-version: ${{ matrix.MONGODB }}
- name: Start MongoDB
uses: supercharge/mongodb-github-action@1.3.0
with:
mongodb-version: ${{ env.MONGODB_4_0 }}