Продолжаем разбираться с автоматизацией Android проекта на GitHub Actions, в этой части настраиваем интеграцию Firebase Test Lab и GitHub Actions а потом запускаем UI-тесты в Android проекте.
Пользователь
Прокачиваем Android проект с GitHub Actions. Часть 1
Привет!
Это пост для тех, кто заинтересовался возможностями GitHub Actions, но никогда не имел опыта реальной настройки build-систем. Примеры будут полезны как для прокачки собственного pet-проекта, так и для понимания, как настраивается CI/CD, если по работе нет связанных с этим задач.
Про планеры

Аэропоезд из Ан-2 и двух Блаников на фалах
Что такое планер?
Это летательный аппарат тяжелее воздуха, но при этом не имеющий двигательной установки. Он поддерживается в полёте за счет аэродинамической подъемной силы, создаваемой на крыле набегающим потоком воздуха и вместо маршевой силы двигателя использует гравитацию. В общем, планер превращает свою потенциальную энергию (высоту) в кинетическую (скорость) и наоборот. А ещё за счет своего небольшого веса и больших крыльев может использовать восходящие воздушные потоки как лифт, чтобы пополнить запас потенциальной энергии.
Зачем они нужны?
На заре развития планеризма задача была одна – удержать безмоторный летательный аппарат тяжелее воздуха в полете в течение более-менее продолжительного времени. Потом уже стали разбираться – а зачем? Задачи для планеров придумали такие:
- спортивная (учебные планеры, высший пилотаж, рекорды)
- экспериментальная (давайте что-нибудь построим и посмотрим как оно полетит)
- перевозка грузов и людей (например для десанта)
- исследование атмосферы
А покататься?
Учебные планеры – двухместные, поэтому позволяют катать пассажиров. Такое развлечение дешевле, чем полет на спортивном самолете (ценник за ознакомительный полёт от 4000 рублей, основная составляющая цены – это стоимость буксировки самолётом). Посадка тандемом, один за другим. Спереди в кабине садится пассажир, сзади – инструктор. Задача катающегося – без разрешения ничего в кабине не трогать. Ну и вовремя предупредить, если укачало и хочется на землю.
Когда Cron подводит

Привет!
У нас есть огромные ночные отчёты по продуктовым метрикам, которые с утра попадают их владельцам. Пару лет назад они собирались обычным Cron'ом, но это оказалось очень нестабильной историей. Cron требует учёта определенных нюансов и дисциплины: если отчёт не собрался, то нужно перезапустить скрипт. А не собраться он может по многим причинам: одна из MySQL-баз не ответила, или не ответил опрашиваемый сервис, или сервер, на котором работает Cron, ночью перезагружался или вышел из строя. В большинстве своём такие отчеты создавались аналитиками, которые обычно всего этого не учитывали. Потому что они аналитики и это не их задача. Поэтому мы начали искать варианты, которые упростят жизнь всем.
И нашли.
В финальном решении используется планировщик Airflow с его возможностью взаимодействия с кластером Kubernetes. Система получилась гибкая и надежная и упрощает жизнь конечным потребителям. Для разработки таких систем есть мы, техническая команда из четырёх человек, называемая Data Team, а конечные потребители – аналитики, продакт-менеджеры и техлиды.
Как продать электронный билет на электричку

Мы в Туту 17 лет занимаемся электричками. Возможно, вы видели наше расписание ещё в детстве или студенчестве. Всё это время нас спрашивают, когда уже можно будет купить билет на интересующую электричку прямо через приложение. 17 долгих лет мы ждали наступления светлого будущего, и понадобилось закрыть на карантин полпланеты, чтобы цифровые билеты стали куда более востребованными.
Причина в том, что ещё никто не придумал, как продавать их так, чтобы:
- С одной стороны — ровно по той же цене, что в кассе;
- С другой — чтобы точно обошлось без злоупотребления типа «вижу контролёра в двух шагах — покупаю билет»;
-
Быстро, удобно и надёжно.
С третьим пунктом пока не срослось. Сейчас расскажу про то, как хитро эта схема уже работает. И скажу, что вижу все предпосылки к тому, чтобы дальше было ещё и удобно.
Давайте пройдёмся по тому, как пользователь покупает, и тому, что происходит в разных системах во время этого процесса.
Почему гну перешла через реку?

И пошли через реку. Для нормальных людей это просто стадо до горизонта, но вообще это одно из самых впечатляющих зрелищ на планете. Дуглас-Гамильтон писал про большую миграцию так: «Большинство присутствующих ученых разделяли это чувство, и они наблюдали за миграцией гну с тем же почтительным восхищением, с каким созерцают «Джоконду».

Давайте чуть углубимся в экосистему и мышление гну, чтобы понять, что случилось и почему. Сегодня мы будем думать, как гну. Очень рациональные гну с ИТ-образованием.
Пересадочный узел для птиц: раскаты Волги посреди пустыни
В России далеко не все знают про это место, а вот для орнитологов всего мира это натуральная Мекка. Почему? Потому что тут огромный трансферный узел для птиц, и это роль места в планетарном масштабе. Птица, она как и самолёт, требует дозаправки. Если вы думаете, что они просто летят в тёплые края, то нет — им нужно где-то останавливаться, отдыхать, есть несколько дней (или даже недель) и лететь дальше. И обычное дерево на даче не подходит: нужно, чтобы было много места и много корма, и при этом хищники не особенно злобствовали. Чтобы вы понимали масштабы узла — просто знайте, что тут за год «пересаживается» около 20 миллионов особей.
Нормальные реки разбиваются на 2-3 протока, а вот Волга разбивается сначала на сотни, а потом вообще превращается в огромную водную поверхность глубиной около метра. Представьте: взяли кусок пустыни размером в полтора Кипра (13 900 км2) и залили его водой. Получилось вот так:

Глубина там небольшая, растительность спокойно торчит над водой, в местах, где ещё можно различить рукава — куча островков и чего-то похожего, а ниже уже всё это постепенно переходит в Каспийское море. Конвергентные вещи можно увидеть в дельте Меконга и в мангровых рощах на островах Микронезии. Поэтому да, в Астрахани, проплывая протоками, можно словить много вьетнамских флешбеков.

Вокруг птиц построили астраханский биосферный заповедник. На его примере я хочу показать, как офигенно работает наука с местными жителями. А то я прошлый раз прямо восхищался, как в Намибии дружат со слонами и леопардами, а у нас под носом происходят не менее интересные вещи.
Новый плацкарт в вагоне габарита Т: помните ту обратную связь, что вы давали на 1-ВМ?

Привет! В феврале я писал про прототип плацкартного вагона в габарите 1-ВМ, и тогда пост собрал 548 комментариев. ТМХ все их прочитали, как и кучу других комментариев в других местах. И анкеты из выставочного образца, и мнения экспертов со всех выставок. Если коротко, получился небольшой цейтнот: нужно вместить в вагон невмещаемое, потому что удобно ехать вшестером в плацкарте в габарите 1-ВМ довольно сложно. А ещё люди уже долгие годы просят сделать полки длиннее. Что не очень реалистично в заданных условиях. И вот внезапно удалось пересмотреть базовый постулат: то, что ещё недавно считалось технически нереализуемым, получилось сделать. Теперь пассажирский вагон будет в габарите Т. Главная фишка — плюс 28 сантиметров в ширину.
И эти 28 сантиметров дали нам душ в каждом вагоне! Ещё из важного: плацкарты для интровертов а-ля капсульный отель, у каждого пассажира своё собственное окно, отдельный шкаф для белья, регулируемые воздуховоды, УФ-очистка туалетов после каждого использования.
История интересна тем, что можно проследить живую связь между бетой, обратной связью и внесёнными в следующей версии изменениями. Давайте посмотрим, что поменялось в прототипе, как будет скомпонован новый вагон — и снова можно дать обратную связь ФПК и ТМХ прямо на Павелецком вокзале, в комментариях к посту или тут. И она будет услышана.
Но, поскольку вокруг вагона царит некоторое непонимание, сначала надо разобраться в ограничениях и задаче.
Начнём с вопроса, почему вдруг стало можно сделать вагон шире, и почему раньше так не делали.
Золотое кольцо скучнейших экскурсий: как это пытаются исправить
Итак, у нас есть экскурсии по Золотому кольцу России. Для пенсионеров это желанное приключение, для молодёжи — особый подвид предельно скучного и бессмысленного занятия. «20 храмов за 3 дня», «Самые нудные экскурсоводы, сыпящие датами», «Очереди в банальных местах вроде заселения в отель» — это из отзывов. Думаю, вы и сами можете себе всё это представить.

Вот так должно выглядеть заселение в отель: без людей и анкет, чёрт побери!
Первый вопрос к любой деятельности — это зачем она делается. Обычно после грамотных ответов процентов 20 проектов в компании можно закрывать, потому что они плюс-минус бессмысленны. Второй вопрос — как всё декомпозировать и переделать каждый кусочек в соответствии с целью.
В примере подошли немного иначе: переписали всё, что бесит, и просто начали думать, как это убрать. Подход, очень знакомый мне по рознице — это способ резко поднять уровень сервиса до небывалых высот. Давайте пройдёмся по тому, что конкретно сделали в этом примере.
Что произошло на транспорте за август

Самое важное:
- Растут цены на авиатопливо. В аэропорту Екатеринбурга на 62,1%, в Домодедово — на 33,4%, в Иркутске — на 28,1%, во Владивостоке — на 20,4% и в Петербурге — на 18%. Это с одной стороны, с другой наша аналитика показывала, что цены на авиабилеты падают к прошлому году (скорее всего, из-за желания компаний хоть как-то получить ликвидные средства и упавшей покупательской способности населения). Изменение цен на топливо больше сезонного скачка, и дальше нас ждёт интересный сюжет.
- Зимняя Универсиада, которая должна была пройти в Швейцарии с 21 по 31 января 2021, перенесена. Новых дат пока нет, но это уже толстый намёк, что 31 января — это не предел окукливания Европы.
- В начале месяца открылось авиасообщение с Великобританией, Танзанией и Турцией. В Лондоне наших граждан ждал карантин, а в Танзанию до сих пор нет прямого рейса, хотя в теории граница открыта. Во многие страны можно попасть с пересадкой через Стамбул или Лондон, вот список. Первые рейсы в Турцию несколько раз внезапно отменялись, но сейчас Турция остаётся наиболее стабильным направлением для полётов. А ещё турецкая лира продолжает падать, и теперь отдыхать выгоднее. 3 сентября подписали распоряжение о возобновлении авиасообщение с Египтом (Каир), ОАЭ (Дубай) и Мальдивами (аэропорт Велана).
- В Бейруте теперь нет порта. 4 августа в морском порту ливанской столицы произошёл мощный взрыв. Это была аммиачная селитра, которую хранили ненадлежащим образом. Около 2750 тонн удобрения (или взрывчатки, как посмотреть) лежало на складе шесть лет.
- Ростуризм подсчитал, что россияне приобрели туры по стране на 1,4 млрд рублей с начала запуска программы «кешбэк за тур по России» (это когда возвращали от 5 до 15 тысяч при оплате картой «МИР» отелей и туров из госсписка). Могут провести ещё одну подобную акцию или вообще сделать её на постоянной основе. Планировалось по прикидкам 3 млн участников, купили туры 50 тысяч.
Глубокий мир автоответов почты, и что там водится

Если вам интересно погрузиться в абсолютно бесполезный мир того, что люди могут в принципе поставить себе на автоответ — добро пожаловать. Например, первое моё открытие — довольно значимая часть населения не знает про форварды и просит переслать письмо на другой ящик.
Когда у вас ответы на рассылку настроены на рабочую почту, всё более-менее ровно примерно до полумиллиона человек в базе. А вот потом начинается подтопление автоответами. Среди них начинают теряться правильные письма. Наша база отправки — несколько миллионов человек, поэтому это представляло проблему.
Параллельно мы начали делать две вещи: вручную собирать почты для правила, убирающего автоответы в подпапку и думать, как это автоматизировать. Автоматическое решение, конечно, нашлось, но и автоответы собрать тоже удалось. Ниже распределение типов автоответов с одного из писем в мае про то, что происходит с границами.
Мой фаворит, конечно, некто Андрей, установивший автоответ: «Спасибо! Ваше письмо доставлено, если вопрос не терпит отлагательств пожалуйста продублируйте его еще раз. С Уважением к Вашему делу!».
Встречаются и более богатые сюжетом письма по экрану текста. Сейчас покажу.
Ждать ли второй волны коронавируса? (исследование и графики, но ответ надо дать вам)
Вот поисковый спрос на симптоматику:


Ниже результаты в виде дофига непонятных графиков и куда более понятных суммаций по ним. Держите, возможно, вам тоже будет нужно.
Россия — месторождение слонов
Естественно, комплект поставки Иваныча был как в Икее, только без половины деталей и инструкции. Это важно, потому что собирать доисторических животных можно по-разному. И получаться (иногда) будут разные виды. В общем, первая версия Иваныча была ростом 2,79 метра. Но за годы скелет подрос, и сейчас он уже 3,41 метра. При царе зверь ходил лицом в пол и зубами к земле, а в СССР уже считали, что он гордо поднимает свою морду и бдительно осматривает горизонт. Это сильно меняло сборку отделов позвоночника. Сейчас Иваныч стоит с высоко поднятым черепом.

Наш слон мог выглядеть примерно как на рендере, только шерсть у мамонта была не рыжей как у привычного образа; жил он не на леднике, а рядом; на шее был горб жира; уши меньше; а бивни «закручены».
Иваныч был слегка более полной (чем скелет) и милой пушистой тварюгой. Вполне возможно, что он был даже жирненьким, но это неточно. Что точно — так это то, что шерсть у него была около 90 сантиметров длиной, плюс ещё был густой подшёрсток. Среди прочего, именно это крутое свойство делает представителя семейства слоновых мамонтом. Точнее, шерстистым мамонтом.
Зачем ему столько шерсти? Ооо, это потому что рядом был ледник. Не зря же появились морозоустойчивые слоны, правда?
Что случилось с транспортом и путешествиями за июль

Во-первых, границу приподоткрыли. С 1 августа можно ехать в Турцию, Танзанию и Великобританию. Уже понятно, что с Турцией договорились нормально и первые рейсы туда улетят с высокой вероятностью. С Великобританией и Танзанией нужно ещё много согласований, плюс в Лондоне наших сограждан пока ещё ждёт 14-дневный карантин. До этого озвучивались другие списки стран — где-то кто-то договорился о возможности приёма россиян по дипломатическим каналам, где-то Роспотребнадзор сказал, что в эту страну можно по эпидемиологическим критериям и т.п. Остались вот эти три. Заодно существенно упростили въезд в Белоруссию.
Во-вторых, правительство России выделило 15 млрд рублей на поддержку внутреннего туризма. Туристам, отдохнувшим в некоторых российских регионах, будет компенсировано от 5 до 15 тысяч рублей в зависимости от стоимости тура. Например, при стоимости тура от 50 тыс. рублей кэшбек составит 10 тыс. рублей, а при стоимости от 75 тыс. рублей, туристу вернут 15 тысяч. Программа будет запущена уже в августе 2020 года.
В-третьих, в Москве будет первый аэропорт с метро. Новую станцию метро «Внуково» полностью интегрируют в инфраструктуру одноимённого аэропорта. Это позволит на 15-20 минут быстрее добираться до города. Таким образом, одноимённый аэропорт станет первым аэропортом со своей станцией метро.
«Где карта, Билли?» — или как соотносятся план полёта и гроза по курсу

VHF omnidirectional range в естественной среде обитания
Разберём вопрос в гражданской авиации: каким образом строится маршрут для полётов из аэропорта А в аэропорт Б. Что влияет на «прокладку» маршрута полёта, кто и как может повлиять на уже составленный маршрут и каким образом диспетчера узнают об всем этом безобразии.
Обсудим, как летит самолёт, на что ориентируется, что из полёта планируется на земле, а что нет. Например, если впереди гроза, то нужно же как-то обходить очаг. Флайтплан можно подать с воздуха прямо диспетчеру ОрВД. Мало кто про это знает, кто такое делал у нас в стране — единицы. На деле для этого есть другие процедуры.
Транспорт за июнь 2020: что случилось интересного

Мировые пассажироперевозки с отметок примерно около 15% стали восстанавливаться. Мы видим около трети от нормальных перевозок по России, а в некоторых регионах больше. Мировые авиаперевозки восстановились на 65% от докризисного уровня — по всему миру компании выполняют 118 тыс. из 181 тыс. рейсов в сутки.
Россия приподоткрыла границы: можно выехать за рубеж для ухода за родственниками, лечения, на работу и учебу. Иностранцы смогут въезжать, чтобы лечиться. Россия пока не войдёт в число стран, из которых с 1 июля можно будет въехать в страны Евросоюза. Обычные загранпоездки не случатся до 1 августа минимум.
Немного дичи: управление гражданской авиации Пакистана провело расследование, которое выявило, что 40% пилотов в стране имеют поддельные лицензии пилотов. Это после того самого случая, когда местные пилоты спустились примерно в 4 раза быстрее, чем нужно было для посадки, не выпустили шасси, стесали двигатели об полосу, решили, что что-то идёт не так, взлетели снова, пошли на второй круг, попытались убрать шасси и уже позже движки развалились. Случай, мягко говоря, удивляющий.
По новому исследованию WTTC, в глобальном секторе путешествий и туризма может быть потеряно более 197 миллионов рабочих мест, если продолжат существовать барьеры для путешествий, которые сильно усложняют поездки. Воздействие длительных ограничений на поездки может также уничтожить 5 543 млрд долларов США вклада сектора в мировой ВВП, что эквивалентно снижению на 62% по сравнению с 2019 годом. И это не нравится авиакомпаниям, которые развернули бурную борьбу с рекомендациями правительств в Европе.
Авиакомпании начали списывать старые борта раньше срока окончания эксплуатации.
Почему полётов стало больше, а авиапроисшествий — нет

Крэш-тесты самолёта: затейники из NASA уронили «Боинг 720» на радиоуправлении, заполненный манекенами, чтобы посмотреть, что будет.
Каждое новое поколение пассажирских лайнеров безопаснее предыдущего. Новейшее поколение — это четвёртое FBW с управлением через компьютеры, без механической связи с узлами.
В 2019 по миру выполнено почти 36 миллионов коммерческих рейсов. Из них 19 миллионов как раз на лайнерах четвёртого поколения, 15 из которых — рейсы Airbus. Так что можно сказать, что европейский авиапроизводитель хорошо разбирается в этом вопросе, любит ковырять статистику и делать прогнозы. Сейчас мы возьмём их большой отчёт «A Statistical Analysis of Commercial Aviation Accidents 1958-2019», добавим «Flight Control Systems: Practical Issues in Design and Implementation» Роджера Пратта и попробуем разобраться, что же поменялось.
Ну и заодно посмотрим, где же можно здорово ошибиться с современными самолётами.
Катар: центр мира для пересадок и ночной город

Это постоянно работающий фонтан. Если вы читали «Дюну», то примерно понимаете, насколько это шокировало поначалу местных жителей богатством в стране, где есть только пустыня.
Катарцы в 2018 оказались самыми богатыми людьми мира. Считали по доле ВВП на гражданина, то есть можно сделать вывод, что граждан в стране мало. Точнее, очень мало. Дело в том, что на небольшом автономном полуострове газа и нефти прямо много. И в шельфе рядом тоже. При том, что страна размером меньше Калиниградской области (и в 4 раза меньше МО). Поскольку коренных катарцев всего около четверти миллиона, дальше выиграть звание самой богатой страны мира было довольно просто.
Наш борт шёл через орографическую облачность, и стюардесса сказала нежным голосом: «Сейчас немного потрясёт, поэтому молитесь, пожалуйста, сидя в кресле». Это напомнило вторую удивительную особенность Катара — пожалуй, это самая открытая мусульманская страна в плане терпимости к иностранцам. То есть можно лететь спокойно, не боясь накосячить из-за разницы культур.
Но вернёмся к жителям и тому, что у них нашлась нефть. Представьте ситуацию: у вас есть небольшой трёхэтажный город, пустыня почти без зелёных участков, некоторое количество верблюдов… да и, пожалуй, всё. И вдруг к вам приваливают почти бесконечные деньги. Воровать нельзя, нужно построить лучший город в мире. Упражнение не умозрительное, именно такую задачу тут на полном серьёзе решали начиная с нулевых.
Задержитесь на секунду и попробуйте перечислить: что бы вы сделали и в каком порядке?
Аэродромное обеспечение: большой пост про то, что там, на земле, делают самолёту

Как правильно паковать самолёты в конверт
Привет!
Давным-давно вы просили продолжить рассказывать про те службы в авиации, которые пассажир не видит. Мы при неоценимой помощи сотрудника аэропортового обеспечения aerodromer решили описать вообще основные виды работ. Например, зачем нужно часто-часто косить траву.
Правила аэродромного обеспечения полётов очень подробно описаны в нормативных документах. Большинство из них — ещё начала 90-х годов. Более современные поправки поменяли нормативы не очень сильно. Несмотря на развитие технологий, очень многие вещи, выработанные годами и написанные кровью, уж простите за пафос, остались. По-прежнему одни из главных инструментов аэродромщика — голова, ноги, глаза.
Очень важной вехой в становлении правил аэродромного обеспечения стала катастрофа самолёта Ту-154 в аэропорту Омска в 1984 году. Тогда в условиях плохой видимости самолёт получил разрешение на посадку при работающих на полосе уборочных машинах (без радиостанций прослушки эфира и без проблесковых маячков). На двух из них были ёмкости с керосином по 7,5 тонны каждая. 178 погибших. Потом были выработаны основные правила при работе на ВПП, требования к автомобилям, выполняющим работы, ведению радиосвязи, взаимодействию между службами, обеспечивающими полёты. Но человеческий фактор остаётся основной причиной авиационных происшествий, и катастрофа Falcon 50 во Внуково в 2014 году лишь подтверждает эту избитую истину.
В каких городах России нет карантина для приезжих

Зелёный — можно спокойно ехать, красный — нужно готовиться заранее (например, пропуск или анкета), чёрный — есть карантин или самоизоляция для приезжих, синий — есть нюансы. Изображение: Максим Яскевич, мой коллега в Туту.
В каких городах не нужно сидеть на карантине 14 дней, если вы хотите поехать на поезде или полететь на самолёте в гости к друзьям или родственникам. Ну или в командировку, но там обычно чуть более понятна ситуация до решения о поездке. Актуально на 5 июня и будет примерно до 8 июня 2020.
UPD: материал устарел, вот актуальный.