github-actions - 如何在GitHub Actions表达式语法中引用上下文值?

标签 github-actions

我想在GitHub Action的env:部分设置一个环境变量,并使用Contexts and expression syntax for GitHub Actions。我尝试了这个:

jobs:
  build:
    runs-on: ubuntu-latest

    env:
      MYVAR: ${{ format('{0}:{1}', ${{ env.PATH }}, ${{ env.HOME }} ) }}

    steps:
    - name: Check environment
      run: echo $MYVAR

这将导致错误消息:
### ERRORED 10:45:52Z

- Your workflow file was invalid: The pipeline is not valid. .github/workflows/main.yml (Line: 10, Col: 14): Unexpected symbol: '${{'. Located at position 19 within expression: format('{0}:{1}', ${{ env.PATH

这个语法:
    env:
      MYVAR: ${{ format('{0}:{1}', {{ env.PATH }}, {{ env.HOME }} ) }}

导致错误:
### ERRORED 13:14:18Z

- Your workflow file was invalid: The pipeline is not valid. .github/workflows/main.yml (Line: 10, Col: 14): Unexpected symbol: '{{'. Located at position 19 within expression: format('{0}:{1}', {{ env.PATH

和:
    env:
      MYVAR: ${{ format('{0}:{1}', env.PATH, env.HOME ) }}

导致错误:
### ERRORED 13:16:12Z

- Your workflow file was invalid: The pipeline is not valid. .github/workflows/main.yml (Line: 10, Col: 14): Unrecognized named-value: 'env'. Located at position 19 within expression: format('{0}:{1}', env.PATH, env.HOME )

我知道How do i set an env var with a bash expression in GitHub Actions?Github Actions, how to share a calculated value between job steps?中用于设置环境变量的解决方案,但是我想了解表达式语法。

最佳答案

正如@jonrsharpe所指出的,不可能在工作流环境变量的值中使用env上下文。这里讨论了这一点:

https://github.community/t5/GitHub-Actions/How-to-use-env-context/td-p/38951

关于github-actions - 如何在GitHub Actions表达式语法中引用上下文值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59809764/

相关文章:

kotlin - 如何在 GitHub Actions 上运行 Kotlin 脚本?

github-actions - Github 提取 .zip 文件的操作步骤?

java - 如何在 GitHub Action 上运行 Spring boot 应用程序的单元测试

docker - 使用 secret 、操作和 PAT 的 Github 组织

github-actions - 如何让 GitHub Action 步骤仅在具有特定名称前缀的分支上运行?

在 github 操作中运行时不会发生 Python 自动版本控制

github - 如何根据标签名称运行作业

azure - 在 Azure 中通过 Bicep 构建资源配置结构多环境的最佳实践

azure - 将 Azure 存储帐户中的文件夹复制到同一存储帐户中的另一个文件夹