如何按程序命名工件?

How to procedurally name artifacts?

- name: Archive Windows Build
  uses: actions/upload-artifact@v1
  with:
    name: "CISampleWin64Binary$(sh ./get-version.sh)" # How to insert var here?
    path: ./bin-win64

尝试用项目的当前版本按程序命名我的工件。我不太了解 bash、sh 或 unixy 的东西。但是,我猜这个名称字段只接受一个字符串,而不像 bash 字符串那样进行解析。有没有办法实现我想要做的事情?

为了在 with 表达式中使用版本,它必须是一个字符串,如 here.

创建将变量导出到环境的初始步骤:

- name: Export Archive Version
  run: echo "::set-env name=ARCHIVE_VERSION::$(./get-version.sh)"
  shell: sh

现在在您的新步骤中,您使用来自 env:

的这个变量
- name: Archive Windows Build
  uses: actions/upload-artifact@v1
  with:
    name: "${{format('CISampleWin64Binary{0}', env.ARCHIVE_VERSION)}}"
    path: ./bin-win64