WeWorkBuddy

[分享创造] 做了个 Mac 小工具,合 MR 之前就能看出 GitLab pipeline 会不会出问题

做了个 Mac 小工具 Pipeline Lens ,在本地模拟 GitLab CI pipeline 。 项目稍微大一点,.gitlab-ci.yml 就会拆成一堆 include ,再加上 rules 、needs 、extends 、!reference ,改 CI 配置的时候心里很没底。MR 自己的 pipeline 推上去跑一遍就知道了,问题是它只验证 MR 自己:合进去之后 main 、release 分支、tag 上的 pipeline 会变成什么样,合之前谁也不知道。 比如给 build-api 加了个 changes: [api/**/*] ,想省点 CI 时间。MR 全绿,合进去之后 release 分支上 deploy-production 还 needs 它,GitLab 直接不给建 pipeline ,发版那天才发现。 Pipeline Lens 会把 include (本地、跨项目、通配符)都拉下来合并,然后模拟任意分支、tag 或 MR 的 pipeline:会跑哪些 job 、每个 job 是哪条 rule 决定的、没跑的为啥没跑(连用到的变量值都列出来

Read original source
Source page screenshot: [分享创造] 做了个 Mac 小工具,合 MR 之前就能看出 GitLab pipeline 会不会出问题
Source page screenshot · www.v2ex.com

Source record

Research analysis

What changed

Source account: 做了个 Mac 小工具 Pipeline Lens ,在本地模拟 GitLab CI pipeline 。 项目稍微大一点,.gitlab-ci.yml 就会拆成一堆 include ,再加上 rules 、needs 、extends 、!reference ,改 CI 配置的时候心里很没底。MR 自己的 pipeline 推上去跑一遍就知道了,问题是它只验证 MR 自己:合进去之后 main 、release 分支、tag 上的 pipeline 会变成什么样,合之前谁也不知道。 比如给 build-api 加了个 changes: [api/**/*] ,想省点 CI 时间。MR 全绿,合进去之后 release 分支上 deploy-production 还 needs 它,GitLab 直接不给建 pipeline ,发版那天才发现。 Pipeline Lens 会把 include (本地、跨项目、通配符)都拉下来合并,然后模拟任意分支、tag 或 MR 的 pipeline:会跑哪些 job 、每个 job 是哪条 rule 决定的、没跑的为啥没跑(连用到的变量值都列出来

Version & cost evidence

Recent records to compare: “Show HN: MetaArena – Compare & Rank 5,353 Meta Global AI Hackathon Projects” (Show HN, Nov 12, 2026); “Show HN: Stop Safari auto zoom on input fields” (Show HN, Nov 12, 2026). Shared themes are navigation hints; they have not been verified as the same need or independent corroboration.

Who is affected

Identify the existing workflow this change affects before recommending an upgrade. Launch attention does not establish improvement; an API, pricing or availability change may instead create migration work.

Missing comparison points

Missing checks: old versus new behavior, affected plans and regions, availability date, compatibility, rollback path and cost under the same workload.

Migration check

Save the release or policy notice, run the same task on the old and new option, and compare outputs and the full bill. For retirement notices, verify the deadline before scheduling migration.