如何在github操作中使用计算属性

时间:2019-08-19 00:05:00

标签: bash yaml github-actions

我正在尝试在新的github action yaml格式(新)中重建ci-cd,问题是我似乎无法在一个步骤中将计算值用作参数。

我尝试了以下

      - name: Download Cache
        uses: ./.github/actions/cache
        with:
          entrypoint: restore_cache
          args: --bucket=gs://[bucket secret] --key=node-modules-cache-$(checksum package.json)-node-12.7.0

但是,“ $(checksum package.json)”作为参数的一部分无效。 请注意,如果命令校验和存在,并且它确实存在于容器中,那么这无关紧要。

我正在尝试在Google Cloud build中复制这种设置

  - name: gcr.io/$PROJECT_ID/restore_cache
    id: restore_cache_node
    args:
      - '--bucket=gs://${_CACHE_BUCKET}'
      - '--key=node-modules-cache-$(checksum package.json)-node-${_NODE_VERSION}'

我希望能够以与其他ci-cd解决方案类似的方式使用计算参数。

有没有一种方法可以使我丢失?也许能够在Docker容器中使用'run:'来运行一些命令。

1 个答案:

答案 0 :(得分:1)

我目前唯一知道的解决方案是在上一步中计算值,以便您可以在以后的步骤中使用它。

有关使用set-output的方法,请参见此答案。我建议使用此方法在工作流步骤之间传递计算值。 Github Actions, how to share a calculated value between job steps?

或者,您可以使用set-env。计算的环境变量也可以在以后的步骤中使用。 How do i set an env var with a bash expression in GitHub Actions?