SuperAPI AI 工具集

ci-pipeline-and-gates

通用与其它

查看项目

更新于 10-16 00:20

技能介绍

用途:为 Flutter 项目建立精简的 GitHub Actions CI,把每个发布阻断契约转化为一个可通过或失败的检查,避免门禁泛滥且保持可审计。

主要能力:单文件 ci.yml 默认覆盖单包应用;固定 runner(runs-on: ubuntu-24.04)与工具链(subosito/flutter-action@v2,指定 flutter-version 或 flutter-version-file,channel: stable);format 与 analyze 为硬门禁(dart format --output=none --set-exit-if-changed . 与 flutter analyze --fatal-infos);生成代码与 schema 作为新鲜度门禁,跑生成器后 git diff --exit-code 校验;测试使用 flutter test --test-randomize-ordering-seed random,并在需要真实 DB 时先装宿主 sqlite3;静态 grep 门禁需满足三条标准(文本可判定、破坏时静默、一行即可破坏),先剥离注释、锚定结构、汇总后一次性失败;覆盖率仅作为报告发布,不用百分比门禁,先修正未导入文件导致的上偏问题(flutter test --coverage),再用 lcov --remove 剥离生成代码;golden 在 CI 只比对不更新。多包工作区场景下在根目录解析依赖、按包边界约束 grep 检查,并把 flutter-version 收敛到单一 env。

使用方式:按需阅读 references/workflow-skeleton.md 与 references/policy-grep-gate.md,PR 前运行 scripts/ci-gates.sh 和 scripts/banned-strings.sh 本地复现静态门禁。

限制:CI 无法证明音频输出、真实字体渲染与真机行为,需保留人工真机验证;未验证的 action 版本应标注 # VERIFY: 而非猜测;门禁不得使用 --update-goldens、continue-on-error: true 或 // ignore: 绕过;覆盖率不加阈值;资料未提供收费、价格与具体平台支持范围。