Apache SpamAssassin 프로젝트는 개발 프로세스에 Subversion 저장소를 사용합니다. 저장소의 읽기 전용 미러는 여기 GitHub에서 유지 관리됩니다.
이 README 파일이 포함된 .github 디렉터리는 Apache SpamAssassin 릴리스 패키지의 일부가 아닙니다. 이 디렉터리의 파일은 개발자가 GitHub 호스팅 실행기에서 GitHub의 작업 기능을 사용하여 테스트를 실행하는 데 사용하기 위한 것입니다.
Apache SpamAssassin 프로젝트 관리 위원회는 GitHub가 빌드 및 테스트를 실행하기 위해 Apache Software Foundation에 할당한 리소스를 사용하기로 합의하지 않았습니다. 이 디렉터리에 정의된 작업은 SpamAssassin의 활성 개발자를 포함하여 누구나 저장소의 개인 GitHub 포크에서 실행할 수 있습니다. 그러나 이 저장소에 파일을 포함한다고 해서 소프트웨어가 대중에게 공식적으로 릴리스되는 것은 아닙니다.
제출한 워크플로 실행에는 처음 세 입력 상자의 모든 유효한 값 조합에 대해 하나의 작업이 포함됩니다.
네 번째 입력 상자에서는 실행할 테스트를 입력할 수 있습니다. 이는 make test 명령줄의 TEST_FILES에 사용된 것과 동일한 형식입니다. 비워두면 모든 테스트를 실행한다는 의미입니다.
테스트 상자에 무엇을 입력하든 SQL을 사용하는 테스트는 데이터베이스에 postgres 또는 mysql이 지정된 작업에서만 실행됩니다. 또한 spamd 스트레스 테스트와 루트 테스트는 절대 실행되지 않습니다.
GitHub에는 다양한 플랫폼에서 동시에 실행할 수 있는 작업 수에 제한이 있습니다. 해당 제한을 초과하여 제출한 작업은 다른 작업이 완료될 때 시작되도록 대기열에 추가됩니다.
왼쪽 사이드바에 나열된 작업을 클릭하면 해당 작업의 로그 출력을 보여주는 창이 열립니다. 오류로 끝나는 작업에는 빨간색 X 아이콘이 표시됩니다. 자세한 내용은 로그 출력을 확인할 수 있습니다. 일부 오류로 인해 t/log 디렉터리 내용이 다운로드할 수 있는 아티팩트로 압축됩니다. 로그 창을 볼 때 왼쪽 사이드바 위에 있는 요약 아이콘을 클릭하세요. 다운로드할 아티팩트가 있으면 아티팩트 제목 아래에 클릭할 수 있는 숫자가 있습니다.
실행되는 작업 수는 세 개의 입력 상자에 지정하는 옵션의 결과입니다. 새 릴리스를 준비하는 릴리스 관리자인 경우와 같이 가능한 모든 Perl 버전에서 SpamAssassin을 테스트하려는 경우가 아니면 Perl의 최신 버전 하나만 선택하는 것이 좋습니다.
실행기의 옵션 상자에는 "-최신" 이름만 표시되지만, 사용 가능한 GitHub 호스팅 실행기를 입력할 수 있습니다(예: ubuntu-20.04 또는 macos-11).
Windows는 Strawberry Perl을 사용하여 테스트되었으며 최신 릴리스는 5.32입니다. Perl 버전 목록에 34 또는 36이 있으면 Windows 플랫폼에서 작업이 생성되지 않습니다.
데이터베이스 옵션 postgres 또는 mysql을 사용하여 실행되는 작업은 다양한 SQL 테스트만 실행합니다. 데이터베이스에 대해 없음 옵션을 사용하여 실행되는 작업은 다른 모든 테스트를 실행합니다.
일부 테스트, 특히 t/dnsbl.t와 같은 네트워크 액세스에 의존하는 일부 테스트는 특히 많은 작업을 동시에 실행할 때 가끔 실패하는 것 같습니다. 워크플로우의 모든 작업이 완료된 후 작업 개요 페이지에서 작업 재실행 버튼을 클릭한 다음 실패한 작업 재실행을 선택하여 실패한 작업만 재실행할 수 있습니다. 간헐적으로만 실패하는 것처럼 보이는 작업이 성공적으로 통과될 때까지 반복합니다.