Я конвертирую декларативный конвейер 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. Поэтому мы должны переопределить его и установить файлы флагов для каждого теста.