Проект Apache SpamAssassin использует репозиторий Subversion для процесса разработки. Зеркало репозитория, доступное только для чтения, хранится на GitHub здесь.
Каталог .github, содержащий этот файл README, не является частью пакета выпуска Apache SpamAssassin. Файлы в этом каталоге предназначены для использования разработчиками для запуска тестов с использованием средства GitHub Actions на средах выполнения, размещенных на GitHub.
Комитет по управлению проектами Apache SpamAssassin не принял никаких мер по использованию ресурсов, выделенных GitHub Apache Software Foundation для запуска сборок и тестов. Действия, определенные в этом каталоге, доступны всем, включая активных разработчиков SpamAssassin, для запуска в их личной ветке репозитория GitHub. Однако включение файлов в этот репозиторий не означает официального выпуска программного обеспечения для общественности.
Отправленный вами рабочий процесс будет содержать одно задание для каждой допустимой комбинации значений из первых трех полей ввода.
Четвертое поле ввода позволяет вам вводить тесты, которые нужно запустить, в том же формате, который используется для TEST_FILES в командной строке make test. Если оставить пустым, это означает запуск всех тестов.
Независимо от того, что введено в поле тестов, тесты, использующие SQL, будут выполняться только в тех заданиях, для базы данных которых указан postgres или mysql. Кроме того, стресс-тесты Spamd и корневые тесты никогда не запускаются.
GitHub имеет ограничения на количество заданий, которые вы можете запускать одновременно на разных платформах. Отправленные вами задания, превышающие этот лимит, будут поставлены в очередь для запуска по мере завершения других заданий.
При нажатии на задание, указанное на левой боковой панели, откроется панель, показывающая выходные данные журнала задания. Задание, завершившееся с ошибкой, будет отмечено красным значком X. Вы можете проверить вывод журнала для получения подробной информации. Некоторые ошибки приведут к тому, что содержимое каталога t/log будет заархивировано как артефакт, который вы сможете загрузить. Просматривая панель журнала, щелкните значок «Сводка» над левой боковой панелью. Если есть какие-либо артефакты для загрузки, под заголовком «Артефакты» будет указан номер, который вы можете щелкнуть.
Количество запущенных заданий является произведением параметров, которые вы указываете в трех полях ввода. Если вы не хотите тестировать SpamAssassin на всех возможных версиях Perl, что вы могли бы сделать, если вы являетесь менеджером выпуска, готовящим новый выпуск, вам, скорее всего, захочется выбрать только одну последнюю версию Perl.
В поле параметров для бегунов отображаются только имена «-latest», но вы можете ввести любой бегун, размещенный на GitHub, который они предоставляют, например ubuntu-20.04 или macos-11.
Windows тестируется с использованием Strawberry Perl, последняя версия которого — 5.32. Если у вас в списке версий Perl 34 или 36, они не будут создавать задания на платформе Windows.
Задания, выполняемые с использованием опции базы данных postgres или mysql, будут запускать только различные тесты sql. Задания, запущенные с использованием параметра none для базы данных, будут запускать все остальные тесты.
Некоторые тесты, особенно те, которые полагаются на доступ к сети, такие как t/dnsbl.t, время от времени терпят неудачу, особенно когда вы одновременно выполняете много заданий. После завершения всех заданий рабочего процесса вы можете повторно запустить только те, которые завершились неудачно, нажав кнопку «Повторно запустить задания» на странице обзора заданий, а затем выбрав «Повторно выполнить неудачные задания» . Повторяйте до тех пор, пока задания, которые кажутся лишь периодическими сбоями, не будут успешно выполнены.