SuperAPI AI 工具集

contribution-pipeline

通用与其它

查看项目

更新于 10-15 20:10

技能介绍

用途:这是贡献流程中的权威最终关卡。本地验证(contribution-verify)只是快速内循环,真实的 GitLab MR 流水线才是判定依据;真实 drupalci 流水线变绿前,贡献不算完成。它支撑 /drupal-ai-contrib:pipeline 命令,并通过 dev-guides-navigator 加载相关知识层。

主要能力与用法:先确定当前 issue fork 对应的 GitLab 项目与 MR,在做任何 API 调用前对参数做显式校验(MR 编号须匹配 ^[0-9]+$,项目路径须匹配 ^[A-Za-z0-9_./-]+$),不匹配则拒绝调用。随后经 drupal-gitlab 技能用 glab 获取该 MR 最新流水线及其 jobs:glab ci status、glab ci view、glab ci trace <job-name>。必须显式指定 --repo "git.drupalcode.org/project/<repo>",不要依赖默认主机;凭证由贡献者自己提供,只读令牌即可查状态,绝不存储或传输凭证。

判定与限制:要诚实读取流水线——allow_failure 的红色 job 虽不使流水线失败,仍是真实失败,必须暴露;v1.15.0+ 中 OPT_IN_TEST_PREVIOUS_MAJOR 等变体 job 改为手动触发,未运行不等于覆盖,须明确标注为未运行。eslint job 会附带 _eslint.patch 工件,可通过 glab api 获取后用 git apply 应用;stylelint 只发布 gl-codequality.json,没有补丁可应用,切勿对整个项目盲跑 --fix。git.drupalcode.org 上流水线仅在 push 时触发,API/CLI 触发被禁用,需重跑时用 --allow-empty 提交推送;不要用 WebFetch 抓取 GitLab job/MR URL,页面是 JS 渲染的,应使用 glab ci trace。只有所有阻塞 job 变绿、allow_failure 真实状态已呈现、相关手动变体已触发变绿或明确记录为非目标时,才视为完成;失败则依据复现指南诊断并退回开发流程。报告需逐 job 列出名称、状态、类型与日志链接,明确说明是否完成,最终裁决以流水线为准。官方文档暂未提供。