
Framework de filtrado de correo electrónico de código abierto que detecta spam y phishing mediante análisis de contenido, comprobaciones de cabeceras, puntuación bayesiana y listas de bloqueo DNS.
El proyecto Apache SpamAssassin utiliza un repositorio de Subversion para su proceso de desarrollo. En GitHub se mantiene un espejo de solo lectura del repositorio aquí.
El directorio .github que contiene este archivo README no forma parte del paquete de lanzamiento de Apache SpamAssassin. Los archivos de este directorio están pensados para que los desarrolladores ejecuten pruebas utilizando la funcionalidad de Actions de GitHub en runners alojados en GitHub.
El Comité de Gestión del Proyecto Apache SpamAssassin no ha realizado ningún acuerdo para utilizar los recursos asignados por GitHub a la Apache Software Foundation para ejecutar compilaciones y pruebas. Las acciones definidas en este directorio están disponibles para cualquiera, incluidos los desarrolladores activos de SpamAssassin, para que las ejecuten en su fork personal de GitHub del repositorio. Sin embargo, la inclusión de los archivos en este repositorio no constituye un lanzamiento formal del software al público.
La ejecución de workflow que envíes tendrá un trabajo por cada combinación válida de valores de los tres primeros cuadros de entrada.
El cuarto cuadro de entrada te permite introducir las pruebas que se ejecutarán, en el mismo formato que se usa para TEST_FILES en una línea de comandos de make test. Si se deja vacío, significa que se ejecutan todas las pruebas.
Independientemente de lo que se introduzca en el cuadro de pruebas, las pruebas que usan SQL solo se ejecutarán en los trabajos que tengan postgres o mysql especificado como base de datos. Además, las pruebas de estrés de spamd y las pruebas como root nunca se ejecutan.
GitHub tiene límites en cuanto al número de trabajos que puedes ejecutar simultáneamente en las distintas plataformas. Los trabajos que envíes y superen ese límite se pondrán en cola para iniciarse a medida que otros trabajos finalicen.
Al hacer clic en un trabajo de la lista de la barra lateral izquierda se abrirá un panel con el registro de salida del trabajo. Un trabajo que termina con errores tendrá un icono de X roja. Puedes revisar el registro de salida para obtener más detalles. Algunos errores harán que el contenido del directorio t/log se comprima como un artefacto que puedes descargar. Cuando estés viendo el panel de registro, haz clic en el icono Summary situado encima de la barra lateral izquierda. Si hay artefactos para descargar, verás un número en el que puedes hacer clic bajo el encabezado Artifacts.
El número de trabajos ejecutados es el producto de las opciones que especifiques en los tres cuadros de entrada. A menos que quieras probar SpamAssassin en todas las versiones posibles de perl, algo que quizá quieras hacer si eres el gestor de lanzamientos preparando una nueva versión, lo más probable es que quieras seleccionar solo una versión reciente de perl.
El cuadro de opciones para runners solo muestra los nombres "-latest", pero puedes introducir cualquier runner alojado en GitHub que pongan a disposición, p. ej., ubuntu-20.04 o macos-11.
Windows se prueba con Strawberry Perl, cuya última versión es la 5.32. Si tienes 34 o 36 en la lista de versiones de perl, no generarán trabajos en la plataforma Windows.
Los trabajos que se ejecuten con la opción de base de datos postgres o mysql solo ejecutarán las distintas pruebas sql. Los trabajos que se ejecuten con la opción none para la base de datos ejecutarán todas las demás pruebas.
Algunas pruebas, especialmente las que dependen del acceso a la red, como t/dnsbl.t, parecen fallar ocasionalmente, sobre todo cuando se ejecutan muchos trabajos a la vez. Cuando todos los trabajos de un workflow hayan finalizado, puedes volver a ejecutar solo los que hayan fallado haciendo clic en el botón Re-run jobs en la página de resumen de los trabajos y seleccionando después Re-run failed jobs. Repite la operación hasta que los trabajos que parecían fallar solo de forma intermitente hayan pasado correctamente.