O projeto Apache SpamAssassin usa um repositório subversion para seu processo de desenvolvimento. Um espelho somente leitura do repositório é mantido no GitHub aqui.
O diretório .github que contém este arquivo README não faz parte do pacote de lançamento do Apache SpamAssassin. Os arquivos neste diretório destinam-se ao uso por desenvolvedores para executar testes usando o recurso Actions do GitHub em executores hospedados no GitHub.
O Comitê de Gerenciamento de Projetos Apache SpamAssassin não tomou nenhuma providência para usar os recursos alocados à Apache Software Foundation pelo GitHub para executar compilações e testes. As ações definidas neste diretório estão disponíveis para qualquer pessoa, incluindo desenvolvedores ativos do SpamAssassin, para serem executadas em seu fork pessoal do repositório no GitHub. No entanto, a inclusão dos arquivos neste repositório não constitui uma divulgação formal do software ao público.
A execução do fluxo de trabalho enviada terá um trabalho para cada combinação válida de valores das três primeiras caixas de entrada.
A quarta caixa de entrada permite que você insira os testes a serem executados, no mesmo formato usado para TEST_FILES em uma linha de comando make test. Se deixado em branco, significa executar todos os testes.
Não importa o que esteja inserido na caixa de testes, os testes que utilizam SQL serão executados apenas nos jobs que possuem postgres ou mysql especificados para banco de dados. Além disso, os testes de estresse e de root do spamd nunca são executados.
O GitHub tem limites no número de trabalhos que você pode executar simultaneamente nas diversas plataformas. Os trabalhos enviados que ultrapassarem esse limite serão colocados na fila para serem iniciados à medida que outros trabalhos forem concluídos.
Clicar em um trabalho listado na barra lateral esquerda abrirá um painel mostrando a saída do log do trabalho. Um trabalho que termina com erros terá um ícone X vermelho. Você pode verificar a saída do log para obter detalhes. Alguns erros resultarão na compactação do conteúdo do diretório t/log como um artefato que você pode baixar. Ao visualizar o painel de registro, clique no ícone Resumo acima da barra lateral esquerda. Se houver algum artefato para baixar, haverá um número no qual você pode clicar sob o título Artefatos .
O número de trabalhos executados é o produto das opções especificadas nas três caixas de entrada. A menos que você queira testar o SpamAssassin em todas as versões possíveis do perl, o que você faria se fosse o gerente de lançamento preparando um novo lançamento, provavelmente desejará selecionar apenas uma versão recente do perl.
A caixa de opções para executores mostra apenas os nomes "-latest", mas você pode inserir qualquer executor hospedado no GitHub que eles disponibilizem, por exemplo, ubuntu-20.04 ou macos-11.
O Windows é testado usando Strawberry Perl, cuja versão mais recente é 5.32. Se você tiver 34 ou 36 na lista de versões perl, elas não gerarão jobs na plataforma Windows.
Os trabalhos executados usando a opção de banco de dados postgres ou mysql executarão apenas os vários testes sql. Os trabalhos executados usando a opção none para banco de dados executarão todos os outros testes.
Alguns testes, especialmente alguns que dependem de acesso à rede, como t/dnsbl.t, parecem falhar ocasionalmente, especialmente quando você está executando muitos trabalhos simultaneamente. Após a conclusão de todos os trabalhos de um fluxo de trabalho, você poderá executar novamente apenas aqueles que falharam clicando no botão Executar novamente trabalhos na página de visão geral dos trabalhos e selecionando Executar novamente trabalhos com falha . Repita até que os trabalhos que parecem ser apenas falhas intermitentes tenham sido aprovados com êxito.