Условно выходное действие - PullRequest
0 голосов
/ 21 июня 2020

Newb ie вопрос о действиях GitHub и конфигурации YAML.

У меня есть действие с одним заданием и несколькими шагами, которые выполняют тесты и открывают проблему, если они не работают. Он работает хорошо.

Теперь я хочу сделать действие условно неудачным, чтобы обновить значок этого действия.

Проблема в последнем шаге «Обработка выхода», который всегда вызывается, хотя есть - условие, которое работает для предыдущего шага, но не работает на этом.

Где я ошибаюсь и как условно выполнить шаг, содержащий слово «запустить»?

name: Tests

on:
  - push

jobs:
  tests:
    name: Tests
    runs-on: ubuntu-latest

    steps:
      - name: Check out Git repository
        uses: actions/checkout@v2

      - name: Set up Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 14

      - name: Install dependencies
        run: yarn install

      - name: Tests
        id: tests
        run: echo ::set-output name=failed::$(if expr length + "$(yarn test 2>&1 | grep fail -i)" > 0; then echo "true"; else echo "false"; fi)

      - name: Open Issue
        if: steps.tests.outputs.failed == 'true'
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        uses: JasonEtco/create-an-issue@v2

      - name: Handle exit
        if: steps.tests.outputs.failed == 'true'
        run: exit(1)
...