实现或修改 IntelliJ `AnAction`,并在 `plugin.xml` 中注册。将显示名称和说明写入消息资源文件,按需设置图标,并通过事件协程作用域启动挂起任务,避免同步处理阻塞 IDE。
- 为 IDE 菜单添加操作
- 修改操作注册或图标
- 整理操作名称和说明
本指南说明如何用 `safePush.cmd` 将 IntelliJ 仓库的当前提交或指定提交送入 Safe Push,经测试和编译检查后合并到受保护分支,并介绍试运行、进度查询和失败排查。
Push IntelliJ repository changes through the Safe Push workflow.
实测评分 未实测
查看安装方法本指南介绍如何通过 safePush.cmd 将 IntelliJ 仓库的更改送入 Safe Push。您可以了解如何将当前 HEAD 或指定提交发送到目标分支、如何用 -dry-run 在不推送的情况下运行检查,以及各选项的作用。Safe Push 会先将更改发送到临时分支,再由 Patronus 执行测试、编译等 CI 检查。所有检查通过后,更改才会合并到目标分支。流程启动后,可通过显示的 Patronus 链接查看进度;失败时也可参考排查步骤。
在把更改送入受保护分支前,想确认仓库要求的检查流程时,可以使用本指南。如果您希望提交更改时不跳过测试,或需要查明 Safe Push 失败或延迟的原因及恢复方法,本指南也能提供帮助。
master。”本指南适用于 IntelliJ 仓库的 Safe Push 流程,执行时会使用仓库中的 safePush.cmd 和 Patronus。紧急推送会跳过测试,仅限指南中列出的特定紧急情况。
本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。
AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。
不计入评分。 由 AI(OpenAI Codex)于 2026年10月28日 评估。仅供参考,安装前请同时查看原文。
安装前可以查看交给 AI 代理的指令内容。
This guide covers the Safe Push process for pushing changes to the IntelliJ repository.
Safe Push is a system that ensures code changes pass all required tests before being merged to protected branches (like master). It's powered by Patronus.
The safePush.cmd script in the repository root provides command-line access to Safe Push without needing the IDE.
# Push current HEAD to master (most common)
./safePush.cmd HEAD:master
# Push specific commit to master
./safePush.cmd <commit-hash>:master
# Push from feature branch to master
./safePush.cmd HEAD:master # while on feature branch
# Dry run (test without pushing)
./safePush.cmd -dry-run HEAD:master
-autosquash Automatically squash fixup! commits (default true)
-dry-run Run tests without push
-emergency Skip tests and push directly (USE ONLY IN EMERGENCIES)
-verbose Verbose output
-help Print help
After starting a Safe Push you'll receive a Patronus URL like:
https://patronus.labs.jb.gg/robot/<uuid>
Always print this URL back to the user — it is their primary handle for the run (link to share, cancel button, restore-branch button). The <uuid> segment is the robot id.
You can also track the Safe Push directly: check current status, enumerate failing checks, drill into a specific attempt, or babysit a long-running robot until it finishes. All of that is in the [[patronus]] skill — pick it up when the user asks for status or when offering to follow up. It's reasonable to proactively suggest tracking or babysitting once the Safe Push is in flight; the user can say no. The [[patronus]] skill also documents the hand-off to [[teamcity-cli]] when an individual TC build needs deeper inspection.
Cancel and restore-branch actions stay in the browser.
Use ./safePush.cmd -emergency ONLY for:
DO NOT use Emergency Push for:
When writing tests that spawn external processes (like bazel.cmd), ensure required environment variables are passed:
// In BUILD.bazel for java_test targets:
env_inherit = [
"LOCALAPPDATA", // Windows
"PROCESSOR_ARCHITECTURE", // Windows
"USERPROFILE", // Windows
"HOME", // Unix/macOS - required for bazel cache directory
],
The Bazel sandbox does NOT inherit environment variables by default. Use env_inherit to explicitly pass variables from the host environment to tests.
#ij-builds Slack channel for infrastructure issues#ij-qa-watch#patronus-support, #ij-builds, #ij-qa-watch还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
实现或修改 IntelliJ `AnAction`,并在 `plugin.xml` 中注册。将显示名称和说明写入消息资源文件,按需设置图标,并通过事件协程作用域启动挂起任务,避免同步处理阻塞 IDE。
将 IntelliJ JPS 测试模块迁移到 Bazel,并排查仅在 Bazel 中出现的失败。根据症状检查依赖、插件、测试数据和 runfiles,重新生成并验证目标。
按 IntelliJ 项目规范编写或审查 Kotlin 和 Java 代码,涵盖语言选择、格式、密封类型、线程注解及控制流异常处理。
本指南帮助您按 IntelliJ 项目规则拆分更改并撰写提交信息:有工单时使用编号和变更说明,无工单时使用标签与子系统名,并在需要时说明原因和决定。
使用多个 Python 类型检查器比较代码片段或文件的类型推断和报错判断,并汇总各工具的结论、耗时与诊断信息,可保存为 Markdown 报告。
整理 Compose Desktop 界面中的状态和副作用,让可组合函数负责绘制,由展示器或协调器处理应用决策。了解状态归属、Effect、可复用组件接口、延迟列表键、动画和性能,适用于单项界面修改。