有条件地在 GitHub 操作工作流程中追加字符串

Mar*_*rco 11 github github-actions

是否可以使用 GitHub Actions 表达式有条件地连接字符串?

例如,就像我在下面的示例中尝试做的那样。

      - name: Release
        uses: goreleaser/goreleaser-action@v2
        with:
          version: latest
          args: release --rm-dist  ${{ if (startsWith(github.ref, 'refs/tags/')) { '--snapshot' }}
Run Code Online (Sandbox Code Playgroud)

Ber*_*tel 13

您可以使用以下内容,-additional-arg如果满足条件则返回,否则返回空字符串:

${{ (startsWith(github.ref, 'refs/tags/') && '-additional-arg') || '' }}
Run Code Online (Sandbox Code Playgroud)

例子:

${{ (startsWith(github.ref, 'refs/tags/') && '-additional-arg') || '' }}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,有效。如果你不需要像我一样的 else 子句,它甚至可以更简单。`${{ !startsWith(github.ref, 'refs/tags/') && '--snapshot' }}` (3认同)
  • @Marco它适用于常规提交推送,但是当您推送标签时,它会产生此错误“goreleaser release --rm-dist false”,这会导致“⨯命令失败错误=未知命令“false”对于“goreleaser”释放”`。`|| ''` 给出默认值,以防条件失败(返回 `false`) (3认同)