Проверка стандартного выхода и переопределения статуса этапа в действиях GitHub - PullRequest
0 голосов
/ 31 марта 2020

Я конвертирую декларативный конвейер Jenkins в рабочий процесс GitHub Actions. Мы полагаемся на следующий фрагмент кода в конвейере, чтобы переопределить состояние нашего этапа тестирования Protractor, проверив выходные данные ряда текстовых файлов с логическими значениями на предмет того, прошел сценарий или нет:

            } catch (err) {
              testFlags = sh(script:'cat *result.flag.txt', returnStdout: true).trim()
             if (testFlags.contains('true')) {
               println "A test failure exists - build status updated to failure"
               currentBuild.result = 'FAILURE'
               error "Test(s) have failed"
              }
              else {
                println "No test failures exist - build status updated to success"

Я пытаюсь найти способ сделать что-то подобное в файле Gymub Actions .yml? Код для создания текстовых файлов тот же, и я считаю, что работает.

Причина, по которой нам нужно это сделать, связана с ошибкой в ​​Cucumber. js, где, даже если сценарий не удался один раз, затем повторяется, код выхода все еще равен 1. Поэтому мы должны переопределить его и установить файлы флагов для каждого теста.

...