
Фреймворк с открытым исходным кодом для фильтрации электронной почты, который обнаруживает спам и фишинг с помощью анализа содержимого, проверки заголовков, байесовской оценки и DNS-блоклистов.
Проект Apache SpamAssassin использует репозиторий subversion для своего процесса разработки. Зеркало репозитория только для чтения поддерживается на GitHub здесь.
Каталог .github, содержащий этот файл README, не входит в пакет выпуска Apache SpamAssassin. Файлы в этом каталоге предназначены для использования разработчиками, чтобы запускать тесты с помощью функции GitHub Actions на размещенных на GitHub раннерах.
Комитет по управлению проектом Apache SpamAssassin не заключал никаких договоренностей об использовании ресурсов, выделенных Apache Software Foundation компанией GitHub, для запуска сборок и тестов. Действия, определенные в этом каталоге, доступны любому желающему, включая активных разработчиков SpamAssassin, для запуска в их личном форке репозитория на GitHub. Однако включение файлов в этот репозиторий не является официальным выпуском программного обеспечения для публики.
Отправленный вами запуск workflow будет содержать по одному заданию для каждой допустимой комбинации значений из первых трех полей ввода.
Четвертое поле ввода позволяет указать тесты для запуска в том же формате, который используется для TEST_FILES в командной строке make test. Если оставить его пустым, будут запущены все тесты.
Независимо от того, что введено в поле тестов, тесты, использующие SQL, будут запускаться только в заданиях, где для базы данных указаны postgres или mysql. Кроме того, стресс-тесты spamd и root-тесты не запускаются никогда.
У GitHub есть ограничения на количество заданий, которые можно запускать одновременно на различных платформах. Задания, превышающие это ограничение, будут поставлены в очередь и запущены по мере завершения других заданий.
Нажатие на задание, указанное в левой боковой панели, откроет панель с журналом вывода этого задания. Задание, завершившееся с ошибками, будет иметь красный значок X. Вы можете просмотреть журнал вывода для получения подробностей. Некоторые ошибки приводят к тому, что содержимое каталога t/log упаковывается в zip-архив как артефакт, который можно скачать. Когда вы просматриваете панель журнала, нажмите на значок Summary над левой боковой панелью. Если есть артефакты для скачивания, под заголовком Artifacts будет номер, по которому можно нажать.
Количество выполняемых заданий равно произведению параметров, указанных в трех полях ввода. Если вы не хотите тестировать 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, иногда завершаются сбоем, особенно при одновременном запуске множества заданий. После завершения всех заданий workflow вы можете перезапустить только те, что завершились сбоем, нажав кнопку Re-run jobs на странице обзора заданий, а затем выбрав Re-run failed jobs. Повторяйте, пока задания, которые, как кажется, дают лишь периодические сбои, не будут успешно пройдены.