Github操作:在特定操作系统上运行步骤

时间:2019-09-15 16:42:58

标签: github-actions

我正在所有操作系统上运行工作流程。

但是,有一个特定步骤仅在Ubuntu上运行:

runs-on: ${{ matrix.os }}
strategy:
    matrix:
        os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
    - name: Setup Ubuntu
      run : export DISPLAY="127.0.0.1:10.0"
      if: # --> What should be here? <--

我找不到任何示例,也找不到有关如何在特定OS上运行步骤的解释。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:7)

您可以使用if: matrix.os == 'NAME_FROM_MATRIX'if: runner.os == 'OS_TYPE'

用于检查矩阵上下文:

if: matrix.os == 'ubuntu-latest'

if: matrix.os == 'windows-latest'

if: matrix.os == 'macOS-latest'

用于检查跑步者背景:

if: runner.os == 'Linux'

if: runner.os == 'Windows'

if: runner.os == 'macOS'

相关文档:runner context

更新

GitHub现在提供了RUNNER_OS变量,它简化了单步检查:

- name:  Install
  run:   |
         if [ "$RUNNER_OS" == "Linux" ]; then
              apt install important_linux_software
         elif [ "$RUNNER_OS" == "Windows ]; then
              choco install important_windows_software
         else
              echo "$RUNNER_OS not supported"
              exit 1
         fi
  shell: bash

对于较复杂的步骤(在当前操作系统只是众多变量之一的情况下),这可能是更好的方法。

相关问题