用途:当 GitHub Actions 上的 SkyWalking e2e 测试失败时,用该技能下载并检查 CI 测试日志制品,定位错误根因。
主要能力:列出指定 CI run 的制品、下载并解压制品 zip、检索 OAP 服务器日志中的 ERROR/Exception/FATAL/CannotCompileException 等错误、检查 BanyanDB 与 UI 等组件及 pod 日志、汇总根因。
使用方式:先列出制品: gh api repos/apache/skywalking/actions/runs/<RUN_ID>/artifacts --jq '.artifacts[] | {id: .id, name: .name}' 再下载解压: cd /tmp && rm -rf e2e-debug-logs && mkdir e2e-debug-logs && cd e2e-debug-logs gh api repos/apache/skywalking/actions/artifacts/<ARTIFACT_ID>/zip > artifact.zip unzip -o artifact.zip 查找 OAP 日志: find /tmp/e2e-debug-logs -name "skywalking-oap-*.log" -o -name "oap.log" 检索错误: grep -E "ERROR|Exception|FATAL|CannotCompileException" <log_file> | head -30 随后按需检查 BanyanDB、UI 等日志并汇总根因。
限制与注意:CI 制品由 e2e 框架自动上传到 $SW_INFRA_E2E_LOG_DIR,日志按 namespace/pod 名组织;OAP init pod 可能与主 OAP pod 报错不同,需逐一检查;常见错误包括 MAL/LAL/OAL 编译失败、存储连接问题和模块初始化错误。Profile exporter 测试(如 Trace Profiling ES)中 exporter 以独立进程运行并使用 MockCoreModuleProvider,若新服务加入 CoreModule.services() 但未在 mock 中注册,exporter 启动会因 requiredCheck() 失败而 OAP 日志无错误,应检查运行 profile_exporter.sh 的测试步骤;OAP 日志正常但测试失败时,需查看具体失败的测试步骤,某些 e2e 测试会启动独立工具并可能独立于 OAP 失败。