|
Запущен сервис wiyci (The World Is Your CI) от автора проекта Repology. Сервис агрегирует логи сборки свободных проектов, находит в них индикаторы проблем, включая предупреждения компилятора и сломанные тесты, и представляет результат в виде, напоминающем интерфейс систем непрерывной интеграции. Идея в том, что сборка пакетов настоящих дистрибутивов покрывает большее разнообразие окружений, нежели обычные CI (которые, кроме того, используются не всеми проектами) и может выявить больше проблем, и закрыть слепое пятно в экосистеме СПО.
На данном этапе проект находится в альфа-стадии и поддерживает логи сборки пакетов Alpine, Fedora и FreeBSD, что, впрочем, уже покрывает 2 ядра ОС, 3 реализации libc (glibc, musl, FreeBSD libc), 9 аппаратных архитектур (aarch64, armhf, armv7, loongarch64, ppc64le, riscv64, s390x, x86, x86_64) и 2 компилятора C/C++ (GCC, Clang). Поддерживается парсинг предупреждений компиляторов GCC и Clang, а также результатов тестов Google Test, ctest и pytest. Покрытие на этой стадии ограничено 2 тысячами самых популярных открытых проектов.
В планах расширение списка источников логов (принимаются идеи), парсинг новых типов фактов и ошибок (принимаются идеи), структурированная обработка предупреждений (с поиском по классу предупреждения, например "-Wsign-compare"), рост покрытия по проектам, RSS-фиды и API. Также принимаются идеи по логотипу проекта.
Сервис реализован на языке Rust (tokio, axum, askama, sqlx) и базируется на подготовленном автором шаблоне, обобщающем двухлетний опыт бэкенд-разработки на Rust. Исходный код открыт под лицензиями Apache 2.0 и MIT. Для хранения данных используется СУБД PostgreSQL.
|