我正在开发Github动作工作流程。此工作流程可在Linux,Mac和Windows上运行。
作为工作流程的一部分,我必须检查2个环境变量是否相等。如果没有,请-失败。
如here所述,Github Actions支持if:
条件:
steps:
- run: # How can if make a cross platform failure here?
if: ${{ envA }} != ${{ envB }}
如果上述条件成立,如何使工作失败? 起初,我考虑过脚本,但是必须有一种更优雅的方式来使工作失败。
答案 0 :(得分:3)
我会做run: exit 1
。这将在所有三个平台上以退出代码1退出。
证明它是跨平台的:https://github.com/rmunn/Testing/runs/220188838,它运行以下工作流程:
name: Test exiting on failure
on: [push]
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
- name: Try to fail
run: exit 1
- name: Print message if we don't fail
run: echo Should not get here
(此答案的较早版本建议使用“ / bin / false”,但这仅适用于Linux和OS X)。