mooncake-ci-local

Runs Mooncake pre-PR local validation through the run_ci_test.sh CI script.

6.5k|1.2k|Updated Jun 25, 2024
One-click install
npx skills add https://github.com/kvcache-ai/Mooncake --skill mooncake-ci-local
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mooncake-ci-local
Source: https://github.com/kvcache-ai/Mooncake/tree/main/.claude/skills/mooncake-ci-local
Command: npx skills add https://github.com/kvcache-ai/Mooncake --skill mooncake-ci-local

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires aiohttp, and includes scripts (resource) components.

What problem does it solve?

Developers contributing to Mooncake need to verify their branch passes CI checks before opening a PR, but manually reproducing GitHub Actions stages locally is error-prone and time-consuming. This Skill runs the repository's single local validation lane so failures are caught before submission.

Core Features & Use Cases

  • One-command local CI: Executes bash scripts/run_ci_test.sh, which coordinates paths-filter, typos, code format checks, CMake build, ctest, wheel build and installation, and selected Python tests.
  • Structured stage reporting: Summarizes passed, failed, blocked, and unsupported stages with per-stage logs under local_test/run-ci-logs/<timestamp>/.
  • Flexible options: Supports --skip-path-filter to force a full run, --base to change the comparison ref, --install-deps for missing dependencies, and --keep-services for debugging.
  • Use Case: Before submitting a PR, a contributor asks to validate the current branch; the Skill runs the full local lane and reports the first actionable failure with its log path.

Quick Start

Ask the assistant to run local CI validation on your current branch before opening the PR, and it will execute the repo's run_ci_test.sh script and summarize the results.

Frequently Asked Questions about mooncake-ci-local

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run Mooncake CI tests locally before submitting a PR?

Run bash scripts/run_ci_test.sh from the repository root. It executes the full local validation lane including format checks, CMake build, ctest, wheel build, and selected Python tests, then prints a per-stage summary.

How to force a full CI run when paths-filter skips stages?

Pass the --skip-path-filter flag: bash scripts/run_ci_test.sh --skip-path-filter. This ignores the changed-path optimization against origin/main and runs every downstream stage regardless of which files changed.

Which CI jobs are not supported in the local validation lane?

The local lane intentionally skips Ascend jobs, T-one integration jobs, MUSA jobs, Docker image builds, CUDA 13 wheel jobs, PG-backend tests absent from the default wheel, and the Python drain-http API stage, since these need external platforms or special hardware.

Where are the local CI test logs stored?

Each run writes per-stage logs and a summary under local_test/run-ci-logs/<timestamp>/. When a stage fails, inspect its corresponding log file in that directory to find the root cause instead of reading raw terminal output.

Why does the local CI run get blocked on my machine?

A blocked stage usually means a missing local dependency or service, such as etcd or the HTTP metadata server. Use the --install-deps flag to auto-install missing dependencies, or run the prerequisites check script to set up services.