SuperAPI AI 工具集

serpapi-ci-integration

测试与质量

查看项目

更新于 10-15 23:29

技能介绍

用途:让 SerpAPI 相关代码的解析与策略门禁在每次变更中保持确定性,同时把实时搜索限制在单独审批、受信任的工作流中运行。

主要能力:

  • 用净化后的 fixtures 覆盖解析器、适配器、错误、分页、脱敏与策略测试,并禁用网络。
  • 在每次 pull request 和 push 时运行 fixture 测试,使用固定版本的 actions 与锁定依赖。
  • 可选的实时冒烟任务绑定到受保护环境,设手动、定时或受信任主分支触发,并设置明确的并发与搜索额度。
  • 先检查账户容量,执行一次无害请求,仅输出状态、搜索 ID 与安全计数。

认证与限制:SERPAPI_KEY 只存放于受保护的 CI 环境,绝不暴露给 fork PR、日志、制品、命令轨迹、缓存或 fixture 更新。实时任务是外部、可变且可能计费的,不可信 PR 代码不得获得该密钥;实时任务默认给予仓库只读权限。

使用方式:先盘点 CI 触发器、fork 行为、权限、密钥范围、环境、制品与依赖安装;将相关测试放到净化 fixtures 上并禁用网络;再定义可选实时任务并绑定受保护环境与额度。启用前需测试 fork PR 路径、密钥脱敏、取消、超时、额度耗尽与制品内容。

边界:未经仓库与账户所有者批准,不得添加密钥、批准 fork 工作流、更改必需检查或启用消耗额度的定时任务。错误处理上,fork 代码可接触密钥时须阻断并重设事件边界;fixture 任务尝试联网时使 CI 失败并替换客户端依赖;实时检查返回 429 时停止任务,并通过 Account API 区分吞吐与额度;提供方不可用时保留确定性门禁并单独报告实时通道。

示例: permissions: contents: read

jobs: fixture-tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - run: python -m pip install -r requirements.lock - run: python -m pytest tests/serpapi -q

其他细节(如具体额度数值、保护环境配置、账户容量阈值)暂未提供。