Apache SpamAssassin 项目在其开发过程中使用了 subversion 存储库。该存储库的只读镜像在 GitHub 上维护。
包含此 README 文件的 .github 目录不是 Apache SpamAssassin 发行包的一部分。此目录中的文件旨在供开发人员使用 GitHub 托管运行器上的 GitHub 操作工具运行测试。
Apache SpamAssassin 项目管理委员会尚未做出任何安排来使用 GitHub 分配给 Apache 软件基金会的资源来运行构建和测试。此目录中定义的操作可供任何人(包括 SpamAssassin 的活跃开发人员)在其个人 GitHub 存储库分支中运行。但是,将文件包含在此存储库中并不意味着该软件正式向公众发布。
您提交的工作流程运行将为前三个输入框中的每个有效值组合分配一个作业。
第四个输入框允许您输入要运行的测试,格式与 make test 命令行中的 TEST_FILES 使用的格式相同。如果留空,则意味着运行所有测试。
无论在测试框中输入什么,使用 SQL 的测试都只会在数据库指定为 postgres 或 mysql 的作业中运行。此外,垃圾邮件压力测试和根测试永远不会运行。
GitHub 对可以在各个平台上同时运行的作业数量有限制。您提交的超过该限制的作业将排队等待其他作业完成后开始。
单击左侧边栏中列出的作业将打开一个窗格,显示作业的日志输出。以错误结束的作业将带有红色 X 图标。您可以检查日志输出以了解详细信息。某些错误会导致 t/log 目录内容被压缩为可以下载的工件。当您查看日志窗格时,单击左侧边栏上方的“摘要”图标,如果有任何要下载的工件,您可以在“工件”标题下单击一个数字。
运行的作业数是您在三个输入框中指定的选项的乘积。除非您想在每个可能的 Perl 版本上测试 SpamAssassin(如果您是准备新版本的发布经理,您可能会这样做),否则您可能只想选择 Perl 的一个最新版本。
运行程序的选项框仅显示“-latest”名称,但您可以输入他们提供的任何 GitHub 托管运行程序,例如 ubuntu-20.04 或 macos-11。
Windows 使用 Strawberry Perl 进行测试,最新版本为 5.32。如果perl版本列表中有34或36,它们将不会在Windows平台上生成作业。
使用数据库选项 postgres 或 mysql 运行的作业将仅运行各种 sql 测试。使用数据库的 none 选项运行的作业将运行所有其他测试。
一些测试,尤其是一些依赖网络访问的测试,例如 t/dnsbl.t,似乎偶尔会失败,特别是当您同时运行许多作业时。工作流的所有作业完成后,您可以通过单击作业概述页面中的重新运行作业按钮,然后选择重新运行失败的作业,仅重新运行那些失败的作业。重复此操作,直到看起来只是间歇性失败的作业成功通过。