Agent Skills › zeabur-oss/zeabur › zeabur-ci

zeabur-ci

GitHub

分析 Zeabur CI/CD 失败或不稳定运行的根因,通过读取日志、在本地复现并修复测试或代码。涵盖 lint、test、e2e 及发布流程的故障排查与恢复。

.claude/skills/zeabur-ci/SKILL.md zeabur-oss/zeabur

Trigger Scenarios

CI 检查失败 测试不稳定(flaky) 发布运行失败

Install

npx skills add zeabur-oss/zeabur --skill zeabur-ci -g -y
More Options

Non-standard path

npx skills add https://github.com/zeabur-oss/zeabur/tree/main/.claude/skills/zeabur-ci -g -y

Use without installing

npx skills use zeabur-oss/zeabur@zeabur-ci

指定 Agent (Claude Code)

npx skills add zeabur-oss/zeabur --skill zeabur-ci -a claude-code -g -y

安装 repo 全部 skill

npx skills add zeabur-oss/zeabur --all -g -y

预览 repo 内 skill

npx skills add zeabur-oss/zeabur --list

SKILL.md

Frontmatter
{
    "name": "zeabur-ci",
    "description": "Investigate a failed or flaky CI or release run of Zeabur (GitHub Actions or scripts\/ci-local.sh) — read the job's log, find the cause, reproduce it on a machine sized like the runner, and fix the test or the code rather than retrying. Use when a check on a pull request or on main fails, or a test passes and fails without a change."
}

When CI fails

Follow zeabur-oss-ci (install: npx skills add zeabur-oss/skills --skill zeabur-oss-ci; skills-lock.json pins it): how CI runs scripts/ci/<job>.sh, reading the log, finding the cause, reproducing, fixing, and its release recovery notes. This skill adds Zeabur's jobs and tools.

Jobs

The jobs of .github/workflows/ci.yml, each nix develop -c scripts/ci/<job>.sh: lint (format, clippy, docs, cargo-deny, unsafe-report, levels, chart in a row), test and ui on every pull request; fuzz, no-ui, wording, cluster (cluster tests, zeaburctl doctor, browser tests in local mode) and e2e (Zeabur and Zeabur Identity in a cluster, scripts/e2e.sh) only in the merge queue, on a tag, nightly and by hand; the cluster jobs run on scripts/dev-cluster.sh. What each cluster job runs is in zeabur-cluster-tests.

.github/workflows/release.yml runs on a vX.Y.Z or vX.Y.Z-<pre-release> tag: zeabur-oss/.github's shared release workflow, each stage bun scripts/release.ts <stage>: build (Linux amd64/arm64, macOS arm64: scripts/release-build.sh, then scripts/release-smoke.sh on Linux), sign (macOS), publish, attest, finish (the installers), release (assets, the draft release) and verify (on the draft's assets); @zeabur-oss/release (package.json) pushes, signs and verifies. A failed release run: zeabur-oss-ci's RELEASE-RECOVERY.md, then RELEASE-RECOVERY.md here.

Reading a failure

  • A failed browser test prints each test's error-context.md (the page as Playwright saw it) and kubectl get pods,events -A in the step "Browser test failure context"; read that before guessing. Playwright's line reporter gives the file and line of the assertion.
  • Polling and isolation rules: docs/internal/testing.md, "Waiting and isolation". Known timing cases are in zeabur-cluster-tests.

Reproducing

rsync -a --delete --exclude target --exclude node_modules --exclude web/dist ./ host:zeabur/
ssh host 'cd zeabur && nix develop -c scripts/ci/cluster.sh'   # one job
ssh host 'cd zeabur && scripts/ci-local.sh'                # every job, a result line each
  • scripts/ci-local.sh [job…] runs each job in its own copy of the checkout, three at a time (CI_LOCAL_PARALLEL), the cluster jobs alone at the end; results in target/ci-local/<job>.result, logs next to them, a failed job's copy kept under work/. Its header documents the settings.
  • It refuses to start with less than 25 GB free (CI_LOCAL_MIN_FREE_GB).
  • The cluster jobs download the Zeabur Identity release ZEABUR_IDENTITY_PINNED names from GitHub, and the node pulls its image from ghcr.io. Set ZEABUR_IDENTITY_SRC to a checkout synced along to build it instead.

Fixing

Run what the change touches locally (bun run fmt:check, bun run lint, shellcheck, cargo nextest run -p …), then let CI run the rest; see zeabur-workflow.

Version History

  • 78d277a Current 2026-11-07 09:09

    重构 CI 任务结构,将脚本拆分为独立文件并按类型分离;重命名集群相关任务为 cluster 和 e2e 以明确语义;更新依赖管理工作流。

  • e6ff195 2026-11-02 08:48

Dependencies

  • suggested zeabur-oss/skills

Same Skill Collection

.claude/skills/zeabur-oss-ci/SKILL.md
.claude/skills/zeabur-oss-cluster-tests/SKILL.md
.claude/skills/zeabur-oss-dependencies/SKILL.md
.claude/skills/zeabur-oss-rust/SKILL.md
.claude/skills/zeabur-oss-spec-work/SKILL.md
.claude/skills/zeabur-oss-workflow/SKILL.md
.claude/skills/zeabur-wording/SKILL.md
.claude/skills/zeabur-writing/SKILL.md
.claude/skills/zeabur-cluster-tests/SKILL.md
.claude/skills/zeabur-dependencies/SKILL.md
.claude/skills/zeabur-dev/SKILL.md
.claude/skills/zeabur-oss-standards/SKILL.md
.claude/skills/zeabur-spec-work/SKILL.md
.claude/skills/zeabur-workflow/SKILL.md

Metadata

Files
0
Version
78d277a
Hash
135f575f
Indexed
2026-11-02 08:48

홈 - 위키
Copyright © 2011-2026 iteam. Current version is 2.156.0. UTC+08:00, 2026-11-14 02:46
浙ICP备14020137号-1