SuperAPI AI 工具集

rhdh-prow-trigger

部署与运维

查看项目

更新于 10-16 03:28

技能介绍

用途

rhdh-prow-trigger 用于按需触发 RHDH 夜间 ProwJob。它执行的是已经配置在 openshift/release 中的作业,适用于 periodic-ci-redhat-developer-rhdh-*-nightly 等夜间任务。该技能不会编辑 CI 配置:若要更改存在哪些作业(测试条目与池),应使用 /rhdh-prow-jobs;若要更改某个发布分支的整套作业,应使用 /rhdh-prow-release-branch。

主要能力

  • 列出作业、将自然语言请求映射为完整作业名、处理覆盖选项并执行。
  • 通过 OpenShift CI Gangway REST API 提交触发请求。
  • 支持离线预览(--dry-run)、列出(--list、--list-tags)与状态查询(--status)。
  • 支持覆盖选项:--image-repo 需配合 --tag,--tag 可单独使用;--playwright-version 仅用于 overlay 作业;overlay 作业不接受镜像、chart 与告警覆盖。

使用方式

加载 workflows/trigger-nightly.md,其中涵盖列出作业、映射请求、覆盖选项与执行。脚本 scripts/trigger_nightly_job.py 使用专用 kubeconfig(~/.config/openshift-ci/kubeconfig),不会干扰用户当前集群上下文;它复用现有 oc 会话,从不执行登录。实时提交与 --status 需要该会话;当 oc 缺失、专用 kubeconfig 不存在或会话过期时,应停止并提示用户运行 /setup-rhdh-skills openshift-ci。登录由 setup 负责,本技能不负责。离线预览与公开的作业/标签列表无需认证。

公开脚本仅向 scripts/gangway_adapter.py 传递 kubeconfig 路径与请求负载;由该适配器单独获取临时凭证并认证请求,返回不含凭证的响应数据。令牌不得出现在参数、输出或任何回报内容中。

执行规则

触发作业属于外部写入;--dry-run、--list、--list-tags、--status 不属于写入。遵循 /mutation-gate,以完整作业名作为目标。

先使用 --dry-run 预览:它会离线校验受支持的夜间名称与标志,然后打印适配器请求,不访问凭证、不创建配置、不发起网络请求;它不校验作业、镜像或 chart 是否存在。实时提交会检查所属仓库配置的作业列表,若无法验证成员资格则停止;--skip-job-check 仅用于紧急情况绕过该检查。

预览包含完整命令、参数、资源影响、未知成本、中止指引、失败行为与验证步骤。在写入门中使用它;在未加 --dry-run 运行前须获得明确批准。

GKE 与 OSD-GCP 各共享一个集群。同一平台上已有作业运行时,绝不可启动第二个作业;触发任一平台前应警告用户。

批准检查或试运行不等于批准执行,需再次询问。

完成标准

触发完成的条件是:按实际运行原样展示所执行的命令、报告 Gangway API 响应,并醒目地说明运行 URL 或 ID;若 API 未返回标识符,应明确说明该缺失而非暗示。试运行完成的条件是:展示打印的请求,并清楚说明未执行任何操作。失败完成的条件是:报告错误及其可能原因(认证过期是常见原因),并在会话是问题根源时指引用户运行 /setup-rhdh-skills openshift-ci。以上任何环节都不得出现凭证。

适用场景与限制

适用于需要按需运行已配置的 RHDH 夜间 ProwJob 的场景。限制包括:不修改 CI 配置;实时提交与状态查询依赖有效 oc 会话;同一平台不可并行运行第二个作业;overlay 作业不接受镜像、chart 与告警覆盖;--image-repo 必须配合 --tag。