Поэтому я думаю, что мне следует отойти от проекта, приветствующего ботов, и просто проверить новый процесс регистрации по мере его развертывания. Во-первых, мне нужны ключи reCaptcha на серверах heroku:

Исправление, которое дает нам новую страницу регистрации reCaptcha:

который я тестирую вручную, и, похоже, он работает над разработкой, а остальная часть сайта выглядит нормально. Я заметил, что новая кнопка Jitsi не была развернута, что, вероятно, означает, что у нас есть еще один периодический сбой в CI, и он действительно есть. Для справки вот:

Given that there are 25 past scrums # features/step_definitions/scrums_steps.rb:28
      PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "index_users_on_slug"
      DETAIL:  Key (slug)=(zella-lubowitz) already exists.
      : INSERT INTO "users" ("first_name", "last_name", "email", "encrypted_password", "slug", "bio", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id" (ActiveRecord::RecordNotUnique)
      ./features/step_definitions/scrums_steps.rb:29:in `/^that there are (\d+) past scrums$/'
      features/scrums.feature:8:in `Given that there are 25 past scrums'

      Failing Scenarios:
cucumber features/scrums.feature:10 # Scenario: Scrums index page renders a timeline of scrums for users to view in descending order

В последнее время это становится немного нелепо, и кажется, что мы вернулись к паре периодических сбоев, прежде чем любая сборка CI будет завершена. Обычно это проблемы с JavaScript, но приведенный выше вариант выглядит странно, потому что он связан с базой данных, но я предполагаю, что это все же может быть своего рода состоянием гонки JavaScript. Майкл и я потратили много времени на песочницу и повторную реализацию cukes, чтобы уменьшить изменчивость, но, хотя на какое-то время все стало лучше, проблема все еще существует. Краткосрочное исправление — добавить больше обычных виновников в список не запускаемых в CI. Хотелось бы более последовательного подхода. Возможно, обновление Rails 5 может помочь, если мы обновим Capybara и т. д.…

Я не могу проводить дальнейшее тестирование потока через систему (или новые кнопки Jitsi), пока CI снова не пройдет проверку и не будет развернут либо для подготовки, либо для разработки. Это очень расстраивает, когда я хочу сосредоточиться на решении проблем с удобством использования в интерфейсе, когда меня отвлекает логистика развертывания. Интересно, лучше ли избегать приемочных тестов, зависящих от JavaScript… Сложность с периодическими сбоями в CI заключается в том, что петля обратной связи очень медленная. Я думаю, мы могли бы начать платить Semaphore за более быструю сборку, но я думаю, что нам потребуется больше средств, чтобы позволить себе это.

Ну, а пока я могу спросить всех сопровождающих проекта, какое сообщение они хотели бы видеть в своих приветствующих ботах…

Первоначально опубликовано по адресу: http://nonprofits.agileventures.org/2017/07/18/av-website-review-part-ten/