一键导入
ci-debugging
CI/CD Debugging Guide guidance for Fortress Rollback. Use when Debugging CI failures, reproducing CI issues locally.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
CI/CD Debugging Guide guidance for Fortress Rollback. Use when Debugging CI failures, reproducing CI issues locally.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | ci-debugging |
| description | CI/CD Debugging Guide guidance for Fortress Rollback. Use when Debugging CI failures, reproducing CI issues locally. |
| Error Pattern | Category | Quick Fix |
|---|---|---|
cargo fmt --check fails | Formatting | cargo fmt |
| Clippy warnings | Linting | cargo clippy --workspace --all-targets --features tokio,json --fix --allow-dirty |
| Test assertion failures | Test logic | RUST_BACKTRACE=1 cargo test name -- --nocapture |
VERIFICATION RESULT: FAILURE | Kani | Verify assertion matches impl; add #[kani::unwind(N)] |
linker cc not found | Cross-compilation | Check Cross.toml, avoid unstable image tags |
invalid linker name in argument '-fuse-ld=lld' | Missing linker | Install lld, or use cargo_linker.get_cargo_env() fallback |
| Timeout / cancelled | Performance | Add #[kani::unwind(N)]; increase timeout-minutes |
actionlint errors | Workflow syntax | Run actionlint locally |
unresolved link | Documentation | Add link reference definition |
| Markdownlint errors | Markdown | npx markdownlint --fix '**/*.md' |
Run the EXACT same command as CI:
# Check what CI ran
cat .github/workflows/ci-*.yml | grep "run:"
# Common reproductions
cargo fmt --check
cargo clippy --workspace --all-targets --features tokio,json -- -D warnings
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps
cargo nextest run test_name --no-capture
cargo kani --harness proof_function_name
actionlint
cargo kani --harness proof_name --verbose
./scripts/verification/check-kani-coverage.sh # Check registration
Common causes:
#[kani::unwind(N)] for loops (N = max_iterations + 1)Always verify the assertion itself is correct -- check what the code actually returns.
cargo install cross --git https://github.com/cross-rs/cross
CROSS_DEBUG=1 cross build --target aarch64-unknown-linux-gnu
Never use :main or :edge image tags. Use environment variable passthrough:
# Cross.toml
[build.env]
passthrough = ["CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER"]
timeout 600 cargo kani --harness proof_name
cargo build --timings # Profile build time
RUST_BACKTRACE=1 cargo test test_name -- --nocapture
cargo test -- --test-threads=1 # Eliminate race conditions
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps
vale sync && vale docs/
npx markdownlint '**/*.md' --config .markdownlint.json
| Factor | Check Command | Common Issue |
|---|---|---|
| Rust version | rustc --version | Mismatch with rust-toolchain.toml |
| Toolchain | rustup show | Missing components |
| Env vars | env | grep CARGO | CI sets CARGO_TERM_COLOR etc. |
| Cache | N/A | CI has clean cache, local has stale |
| Git state | git status | Uncommitted changes |
cargo clean
CARGO_HOME=$(mktemp -d) cargo build
| Pattern | Meaning |
|---|---|
##[error] | Explicit error from action |
error[E...] | Rust compiler error code |
panicked at | Rust panic occurred |
timeout | Step exceeded time limit |
exit code 1 | Command failed |
Enable debug logging: set repo variable ACTIONS_STEP_DEBUG=true.
cargo c && cargo t # Format + lint + test
cargo doc --no-deps # Doc changes
actionlint # Workflow changes
npx markdownlint '**/*.md' --config .markdownlint.json --fix # Markdown changes
Crate Publishing guidance for Fortress Rollback. Use when Publishing to crates.io, version bumps, release checklist.
Changelog Practices guidance for Fortress Rollback. Use when Writing CHANGELOG entries, deciding what to document.
Design Decision Log Pattern guidance for Fortress Rollback. Use when Architectural decisions, design alternatives, superseding prior choices.
Repository-wide engineering policy and project context for Fortress Rollback. Use when implementing, diagnosing, reviewing, testing, documenting, or releasing changes in this repository.
GitHub Actions Best Practices guidance for Fortress Rollback. Use when Writing GitHub Actions workflows, CI debugging, actionlint, caching.
Workspace Organization guidance for Fortress Rollback. Use when Organizing workspace, splitting crates, module structure decisions.