В данный момент происходят довольно интересные вещи. Это начало нового года, мы работаем над двумя новыми базами (Ubuntu 18.04 для Linux Mint 19 и Debian 9 для LMDE 3), но перед тем как погрузиться в цикл разработки и работать над исправлением ошибок и разработкой нового функциионала , мы потратили некоторое время, чтобы улучшить нашу инфраструктуру, документацию и методы работы.
Перед тем как будут открыты подробности, мы хотели бы поблагодарить всех людей, которые пожертвовали нам: Neil V. в частности за пожертвование 4000$ и 653 других человека, которые пожертвовали нам в декабре этого года. Мы никогда не получали столько за один месяц, также мы никогда не получали столько от одного пожертвования, и наконец, мы никогда раньше не получали пожертвований от такого количества людей за один месяц. Поэтому мы очень гордимся нами и вами, и рады видеть вашу реакцию и ваш ответ на то, что мы делаем. Это действительно потрясающе.
Непрерывная интеграция
Сугубо технический момент. Если вы не понимаете о чем речь, ничего страшного... мы начинаем использовать новые инструменты и технологии, которые значительно расширят наши возможности и упрощают и ускоряют принятие нами добавляемого кода кода, создание пакетов и гарантированное качество для всех наших выпусков и проектов, которые мы поддерживаем.
Чтобы дать вам представление о том, как это происходит - когда кто-то вносил изменения в сложный код одного из наших проектов, нам приходилось тащательно проверять это изменение и адаптировать его в Linux Mint и LMDE, чтобы убедиться, что все в порядке. Теперь мы используем инструменты, которые делают это автоматически для нас.
Теперь мы используем непрерывную интеграцию для автоматизации тестирования на Github. Каждый отдельный коммит, каждый pull-реквест автоматически запускает сборку в Linux Mint 18, Linux Mint 19 и LMDE 3. Если сборка не работает в любой из этих сред, мы увидим это прямо на Github.
Это позволит нам принимать некоторые Pull-реквесты намного быстрее, чем раньше.
Deb-пакеты теперь также автоматически создаются для каждого нового коммита.
В перспективе, мы начнем использовать непрерывную интеграцию, чтобы также выполнять модульные и функциональные тесты.
Анализ статического кода
Исходный код также теперь сканируется для каждого запроса фиксации и вытягивания, при помощи различных линтеров и анализаторов.
Анализ статического кода не обнаруживает все несовершенства, но может выявлять потенциальные проблемы и, таким образом, предотвращать появление каких-либо потенциальных ошибок.
Опять же, когда что-то и идет не так, проблема автоматически появляется на Github, поэтому мы можем видеть результат перед слиянием кодовой базы.
Преальфа ISO и сборочные окружения
Мы создали предварительную альфа-версию ISO для Linux Mint 19 и создали среды сборки для Linux Mint 19 и LMDE 3. Это позволяет нам работать с GTK 3.22 и легко создавать пакеты для наших следующих выпусков.
Мы также значительно улучшили наши инструменты сборки. Кросс-компиляция проекта github теперь представляет собой одиночную команду. Мы поговорим об этом в следующем месяце, надеюсь, тогда уже будет готово руководство разработчика Linux Mint.
Важные системные изменения в Cinnamon
Cinnamon получил важные изменения:
- Переход с Python 2 на Python 3
- Переход от mozjs38 к mozjs52 (который был перенесен в LMDE 3)
- Возможность установить дату и время и синхронизировать его через сеть с помощью Systemd
Стратегия контроля ошибок (Bug squashing)
Нам пришлось полностью пересмотреть нашу стратегию борьбы с ошибками. Он больше не работал. Это было непоследовательно, с некоторыми ошибками в Github и некоторыми ошибками в Launchpad. Они не были должным образом задокументированы, поэтому было неясно, чего мы ожидали. Мы ползали между тикетами ... огромное количество ошибок (5000 в Launchpad, 2500 в Github), многие из них не привели к фактической работе, исправлениям или улучшениям, просто чтобы их обработать, а команда разработчиков боялась сказать нет и закрывать проблемы, и это число мешает фактически увидеть и решить некоторые важные проблемы, некоторые из которых решались довольно просто.
Эти отчеты будут обработаны, каждый их них. Мы не выбрасываем все это и начинаем с нуля с чистого листа по той же старой стратегии. Мы сохраняем их все и пересматриваем нашу стратегию с нуля, на этот раз с сильным акцентом на ожидания, цели и эффективность.
Во-первых, мы поставили фокус на ПО. у нас не может быть ожиданий без документации. Теперь нам полезно иметь руководство по устранению неполадок Linux Mint. В этом руководстве объясняется, как устранять проблемы, что такое ошибка, а что нет, и как сообщать об ошибках.
Также мы создали новые команды и инструменты для обработки ошибок. Сейчас у нас три официальных команды:
- Cinnamon Development Team состоит из 11 человек и обрабатывает все компоненты, связанные с корицей
- Xapp Development Team состоит из 4 человек и обрабатывает все кросс-дистрибутивные компоненты (xapp, xplayer, pix, xed, xreader, xviewer, а также черника, pia-manager, slick-greeter и т. Д.).
- Linux Mint Development Team состоит из 6 человек и обрабатывает все остальные реквесты
У нас все еще есть огромное отставание, когда дело доходит до отчетов об ошибках, но эти новые инструменты, эта новая стратегия и документация больше не будут задерживать нас. Мы уверены, что отставание со временем сократится, и конечно же, не будет бснова расти.
Что дальше
Принятие новых технологий и нструментов требует времени, но когда эти инструменты великолепны - это имеет огромное значение в долгосрочной перспективе. Git и Slack очень помогли нам в прошлом. Недавно мы начали использовать ReadTheDocs, Docker, CircleCI, Waffle и Codacy. Есть еще одна вещь, которую мы надеемся принять, прежде чем погрузиться в следующий цикл разработки: система сборки Meson. В большинстве наших проектов используется autoconf. Переход на Meson может упростить и ускорить компиляцию, упростить ее поддержку и более интересен для разработчиков. Мы рассматриваем возможнность его использования в данный момент.
Другим важным проектом является документация. К текущему моменту мы написали три руководства. Мы планируем написать Руководство разработчика и Руководство по безопасности. Некоторые из отзывов, полученных нами от объявления о безопасности Spectre и Meltdown, подчеркнули тот факт, что многие люди в нашем сообществе были смущены и недостаточно знали о безопасности. Мы рассмотрим основные понятия, работу со снимками системы, подчеркнем важность применения обновлений безопасности, и мы будем документировать некоторые аспекты (например, аутентификацию 2FA или опасность запуска стороннего программного обеспечения), которые, несмотря на то, что оно напрямую не связано с Linux Mint - чрезвычайно важны для понимания пользователями.
Пожертвования в Декабре:
Общая сумма в $20,459 была получена от 654 пользователей.
Источник новости